[golang]Go语言从入门到实践-反射

本文介绍了Go语言中的反射机制,包括反射三定律:变量转反射变量、反射变量到接口以及通过指针修改变量值。核心函数reflect.TypeOf()和reflect.ValueOf()用于获取变量的类型和值,并进行反射转换。反射不仅能用于基本类型的数据修改,还涉及切片、集合、结构体、指针和函数等复杂类型的操作。
摘要由CSDN通过智能技术生成

反射三定律:

1.变量---->反射变量

2.变量---->反射变量---->接口

3.变量----->(通过取地址&)反射变量---->修改变量的值

反射的类型和种类:

 切片、集合、结构体、指针、函数与反射......

总结:

内置包函数 reflect 的函数 reflect.TypeOf() 和 reflect.ValueOf() 能获取变量的数据类型和数值,并将变量转换为反射变量,它们对应的数据类型分别为 *reflect.rtypereflect.Value;

反射的机制分为类型和种类两种,用的最多的是类型,种类则是类型的上一级别类别。

反射可以通过 reflect.TypeOf() 和 reflect.ValueOf() 对任意变量进行转换。基本类型(整型、浮点型、字符串或布尔型等),使用Elem() 和 SetInt()等可以实现数据修改;如果变量是切片、集合、结构体、指针、函数等复杂一点数据类型,则需要特定方法实现数据读取和修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值