interface类型有一个(type,value)对,反射是操纵这个(type,value)的机制
1.reflect包
funcValueOf() Value
funcTypeOf() Type
2.反射定律
1.反射可以将interface类型变量转换成反射对象
即是可以获取interface变量的类型和变量
2.反射可以将反射对象还原成interface对象
funcfoo(){var A interface{}.//原对象
A =100
V := reflect.ValueOf(A)//反射的对象
B := v.Interface{}//还原成原对象if A == B{
fmt.fprintf("they are same\n")//两者是相同的}}
3.反射对象可以修改,value值必须可以设置
var x float64=3.4
v := reflect.ValueOf(&x)//必须传指针
v.Elem().SetFloat(1.1)
本文转载自: https://blog.csdn.net/changzhaoliuting/article/details/126571656
版权归原作者 SLM的智慧 所有, 如有侵权,请联系我们删除。
版权归原作者 SLM的智慧 所有, 如有侵权,请联系我们删除。