Go语言反射之值反射

反射第二篇,值反射。类型反射请参考,

Go语言反射之类型反射

1 概述

反射不仅可以获取值的类型信息,还可操作变量的值。使用 类型操作变量的值。

2 值反射对象

方法可以获取一个值的反射对象,之后可以获取值的相关信息,或者获取这个值。示例:

和 ,是获取值的信息,判断是否合法和是否为Nil。

,利用类型断言获取原始值。

,通过类型获取原始值。

获取值的操作支持很多,对应的数据类型都支持。例如 , , 等。

3 修改值

利用反射可以完成值的修改, 方法获取值反射对应的元素,再利用 方法完成设置,示例:

注意,修改值需要满足可被寻址的要求,因此我们使用的是 。

4 修改结构体字段值

反射修改结构体字段,需要先获取结构体的值反射对象,再去确定字段,再去修改。演示为:

注意,修改结构体字段时,要保证字段能被导出,首字母大写。

完!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106G006SL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券