Go语言反射Type和Value教程
在 中对所有 进行 ,都可以得到一个包含 Type 和 Value 的信息结构。顾名思义,Type 主要表达的是被反射的这个 本身的类型信息,而 Value 则为该变量实例本身的信息。
反射获取Type
语法
reflect.TypeOf(varname)
说明
reflect.TypeOf
反射获取Value
语法
reflect.ValueOf(varname)
说明
reflect.ValueOf
案例
Go语言反射获取Type
可以使用反射获取变量的类型信息
package main import ( "fmt" "reflect" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") var x = 1024 var str = "HaiCoder" fmt.Println("x type =", reflect.TypeOf(x)) fmt.Println("str type =", reflect.TypeOf(str)) }
程序运行后,控制台输出如下:
reflect.TypeOf
reflect.TypeOf
反射获取变量的Value
可以使用反射获取变量的Value
package main import ( "fmt" "reflect" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") var x = 1024 var str = "HaiCoder" fmt.Println("X value =", reflect.ValueOf(x)) fmt.Println("Str value =", reflect.ValueOf(str)) }
程序运行后,控制台输出如下:
reflect.ValueOf
reflect.ValueOf
Go语言反射Type和Value教程总结
使用反射获取变量基本类型的语法:
reflect.TypeOf(varname)
使用反射获取变量值的基本语法:
reflect.ValueOf(varname)