温馨提示×

Go语言反射如何获取类型

小樊
82
2024-11-08 11:56:11
栏目: 编程语言

在Go语言中,你可以使用反射(reflection)来获取变量的类型。Go的反射包提供了TypeOf()函数,可以用来获取变量的类型信息。下面是一个简单的示例:

package main

import (
	"fmt"
	"reflect"
)

func main() {
	var num int = 42
	var str string = "Hello, reflection!"

	fmt.Println("Type of num:", reflect.TypeOf(num))
	fmt.Println("Type of str:", reflect.TypeOf(str))
}

在这个示例中,我们定义了两个变量numstr,然后使用reflect.TypeOf()函数分别获取它们的类型。运行这个程序,你将看到以下输出:

Type of num: int
Type of str: string

reflect.TypeOf()函数返回一个reflect.Type类型的值,它包含了关于变量类型的信息。你可以使用Name()方法来获取类型的名称,例如:

fmt.Println("Type name of num:", reflect.TypeOf(num).Name())
fmt.Println("Type name of str:", reflect.TypeOf(str).Name())

这将输出:

Type name of num: int
Type name of str: string

0