Golang reflect.Type()函数
Go语言提供了运行时反射的内置支持,并使用反射包允许程序使用任意类型的对象。Golang中的 reflect.Type() 函数用于获取v的类型。要访问此函数,需要在程序中导入reflect包。
语法:
func (v Value) Type() Type
参数: 此函数不接受任何参数。
返回值: 该函数返回v的类型。
下面的例子说明了在Golang中使用上述方法:
例1:
// Golang程序来说明
// reflect.Type()函数
包main
导入(
"fmt"
"reflect"
)
// 主函数
func main() {
var val chan int
// 使用Type()方法
value :=reflect.MakeChan(reflect.Indirect(reflect.ValueOf(&val)).Type(),0)
fmt.Println("Value :",value)
}
输出:
Value : 0xc00010c000
例2:
// Golang程序来说明
// reflect.Type()函数
package main
import (
"fmt"
"reflect"
)
// 主函数
func main() {
var str map[int]string
var strValue reflect.Value = reflect.ValueOf(&str)
indirectStr :=reflect.Indirect(strValue)
//使用Type()方法
valueMap := reflect.MakeMap(indirectStr.Type())
fmt.Printf("ValueMap is [%v] .",valueMap)
}
输出:
ValueMap is [map[]] .