七叶笔记 » golang编程 » golang反射详解

golang反射详解

反射的作用是在程序运行时获取数据的类型信息和值信息。

golang提供了一个官方包reflect来获取运行时数据。关键点在于两个方法TypeOf和ValueOf。

TypeOf可以获取到类型信息,ValueOf可以获取值信息。

下面演示下如何使用这两个方法。

反射的基本用法

输出:

struct name : Song

fieldName: Name

json tag: name

xml tag: name

value: 模特

fieldName: Length

json tag: length

xml tag: length

value: 126

这就是反射的基本用法,通过上面的演示可以看出来可以动态获取

  1. 结构体内的所有字段

  2. 获取字段的名称和类型

  3. 获取字段的值

  4. 获取字段的标签

字段的标签用处比较多,标签属于key-value结构,比较常见的标签有两种分别是json和xml标签

  1. json标签在json 序列化 时使用

  2. xml标签在xml序列化时使用

下面再说下动态获取interface{}的类型有两个比较简单的用法:

1.通过switch A.(type)获取类型

通过switch type获取接口类型

2.通过golang的类型诊断来判断接口的类型

通过类型诊断判断接口类型

感谢大家的浏览,喜欢这篇文章的同学可以点击一下关注,我们一起学习进步。

相关文章