github.com/golang-infrastructure/go-reflect-utils@v0.0.0-20221130143747-965ef2eb09c3/len.go (about) 1 package reflect_utils 2 3 //import ( 4 // "reflect" 5 //) 6 // 7 //// LenType 安全的计算Type的长度,如果类型不合适会返回0而不是panic 8 //func LenType(t reflect.Type) int { 9 // if t.Kind() != reflect.Array { 10 // return 0 11 // } 12 // return t.Len() 13 //} 14 // 15 //// LenValue 安全的计算Value的长度,如果类型不合适会返回0而不是panic 16 //func LenValue(v reflect.Value) int { 17 // switch v.Kind() { 18 // case reflect.Slice, reflect.Array, reflect.Chan, reflect.Map, reflect.String, reflect.Ptr: 19 // return v.Len() 20 // default: 21 // return 0 22 // } 23 //}