ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## **反射注意事项** >1:reflect.Value.Kind,获取变量的类别,返回的是一个常量 ![](https://img.kancloud.cn/70/ac/70ac74c7060dc01fcc502790e069468c_1070x710.png) <br> <br> > 2:使用反射的方式来获取变量的值(并返回对应的类型),要求数据类型匹配,比如x是int,那么就应该使用reflect.Value(x).Int(), 而不能使用其它的,否则报panic ![](https://img.kancloud.cn/60/cd/60cd3a900072dac5a199d460e8e65e1c_1280x204.png) <br> <br> > 3:通过反射的来修改变量,注意当使用Setxxx方法来设置需要通过对应的指针类型来完成,这样才能改变传入的变量的值,同时需要使用到reflect.Value.Elem()方法 ![](https://img.kancloud.cn/54/2b/542bcb211167451be288349095bf9677_1209x654.png) ![](https://img.kancloud.cn/98/28/98288b05893a6e6dfb2aa5a2f35237ea_774x482.png) ~~~ Elem()有很多个方法,因为它们指向一个结构体 ~~~ <br> 如何理解:reflect.Value.Elem():图如下 ![](https://img.kancloud.cn/8c/22/8c22404f03f9ad022c94977ed9b3fc80_1209x250.png)