go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)

Posted Locutus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)相关的知识,希望对你有一定的参考价值。

在Go中,我们可以通过reflect.TypeOf()函数获得任意值的类型对象(reflect.Type),go程序通过类型对象(reflect.Type)可以访问任意值的类型信息。

package main

import (
	"fmt"
	"reflect"
	"testing"
)

func main() {

	var a int   // 定义一个int类型变量

	typeOfA := reflect.TypeOf(a) // 使用reflect.TypeOf,取得变量a的反射类型对象,是reflect.Type类型
	fmt.Println(typeOfA.Name(), typeOfA.Kind()) // 通过反射类型对象的成员函数(.Name()方法和.Kind()方法),分别获得类型名(Type)int,和种类(Kind)int
}

// int int

以上是关于go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)的主要内容,如果未能解决你的问题,请参考以下文章

go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)— 什么是反射?

go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)

go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)— 结构体标签(struct tag)是结构体字段的额外信息标签

go语言学习笔记 — 进阶 — 反射:反射的类型对象(reflect.Type)— 反射类型对象的类型名(Type)和种类(Kind)

Go语言的反射机制

Go语言之Go语言反射