在Go中,我们可以通过reflect.TypeOf()函数获得任意值的类型对象(reflect.Type),go程序通过类型对象(reflect.Type)可以访问任意值的类型信息。
package main
import (
"fmt"
"reflect"
"testing"
)
func main() {
var a int // 定义一个int类型变量
typeOfA := reflect.TypeOf(a) // 使用reflect.TypeOf,取得变量a的反射类型对象,是reflect.Type类型
fmt.Println(typeOfA.Name(), typeOfA.Kind()) // 通过反射类型对象的成员函数(.Name()方法和.Kind()方法),分别获得类型名(Type)int,和种类(Kind)int
}
// int int