目录
反射
概念:
可以动态获取变量的相关信息 import "reflect"
两个函数:a. reflect.TypeOf,获取变量的类型,返回reflect.Type类型
b. reflect.ValueOf,获取变量的值,返回reflect.Value类型
c. reflect.Value.King,获取变量的类别,返回一个常量
d. reflect.Value.Interface(),转换成interface{}类型
动态获取interface{}的值、类型
可见如下代码和输出:从代码输出中可见,通过reflect我们可以在运行中获取interface{}的类型。
package main
import (
"fmt"
"reflect"
)
type Student struct {
Name string
Age int
Score float32
}
func test(b interface{}) {
t := reflect.TypeOf(b) //为类