go反射机制与类型识别
在写 go 程序的时候,难免会遇到使用反射机制获取一些结构体或者变量的动态类型,java 和 C# 高级编程语言提供了很好的反射机制,但是在 C 语言中基本是不存在的,C++ 需要有很多语法糖来实现反射,但是技术要求很高,go 语言虽然没有泛型,单是基本的反射还是提供了,下面我们来看看 go 语言的反射与类型识别。
什么是反射?
一般我们在定义字段或者变量的时候要赋予他变量类型,如果是javascript等类似脚本语言是支持类型动态转换的,go语言是一门强类型语言,也就是类型不对它是会出错的,所以我们一般会像下面这样定义一个结构体。
type Student struct {ID intName string
}
当你定义一个变量时:
var student Student
<