|
123456789101112131415161718192021222324 |
- package reflect2
-
- import "reflect"
-
- type Type = reflect.Type
-
- // TypeOfValue 获得实际值的类型
- func TypeOfValue(val any) reflect.Type {
- return reflect.TypeOf(val)
- }
-
- // TypeOf 获得泛型的类型
- func TypeOf[T any]() reflect.Type {
- return reflect.TypeOf([0]T{}).Elem()
- }
-
- // ElemTypeOf 获得泛型的类型。适用于数组、指针类型
- func ElemTypeOf[T any]() reflect.Type {
- return reflect.TypeOf([0]T{}).Elem().Elem()
- }
-
- func TypeNameOf[T any]() string {
- return TypeOf[T]().Name()
- }
|