Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
ValueOf
@param i 可以为nil
e.g.
v := reflectKit.ValueOf(111) fmt.Println(v.Kind() == reflect.Int) // true
e.g.1
{ var obj interface{} = nil v := reflectKit.ValueOf(obj) k := v.Kind() fmt.Println(k) // invalid fmt.Println(k == reflect.Invalid) // true } { type bean struct { } var obj *bean = nil v := reflectKit.ValueOf(obj) k := v.Kind() fmt.Println(k) // ptr fmt.Println(k == reflect.Invalid) // false }
Functions ¶
func GetField ¶
GetField
PS: 这样获取到的值是不可以修改的,如果要修改name字段,需要用到reflect.NewAt函数,这个函数通过一个类型值的底层地址(指针 p)和类型, 返回指向该值的一个指针,这个返回值是可寻址的,即可通过它直接访问该值。具体的修改是使用reflect.Value.Set函数。
@param fieldName 字段名(属性名),private或public的都可以
func GetNestedField ¶
GetNestedField 获取(层层嵌套的)字段
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.