七叶笔记 » golang编程 » golang反射:实现一种各种类型通用的len()函数方法

golang反射:实现一种各种类型通用的len()函数方法

通过golang反射机制,实现一种可以Array、Slice、String、Map、Chan类型通用的求取len()的函数方法。

函数实现

函数代码:

 //支持Array、Slice、String、Map、Chan类型求取长度
func Len(v interface{}) int {
typeVal := reflect.ValueOf(v)
switch typeVal.Kind() {
case reflect.Array, reflect.Slice, reflect.String, reflect.Map, reflect.Chan:
return typeVal.Len()
default:
return -1
}
return -1
}  

相关文章