Golang reflect.Type()函数

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[]] .

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程