Go 结构体
2018-02-09 15:49
218 查看
package main import ( "fmt" "reflect" ) type Book struct { Id int Title string Price float32 Authors []string } func aboutStruct() { book := Book{Id: 100, Title: "Test", Price: 12.3, Authors: []string{"张三", "李四"}} e := reflect.ValueOf(&book).Elem() for i := 0; i < e.NumField(); i++ { varName := e.Type().Field(i).Name varType := e.Type().Field(i).Type varValue := e.Field(i).Interface() fmt.Printf("varName : %v\tvarTyep: %v\tvarValue: %v\n", varName, varType, varValue) } } func main() { aboutStruct() }
编译输出:
C:/Go/bin/go.exe build -i [D:/golang/src/JsonTest] 成功: 进程退出代码 0. D:/golang/src/JsonTest/JsonTest.exe [D:/golang/src/JsonTest] varName : Id varTyep: int varValue: 100 varName : Title varTyep: string varValue: Test varName : Price varTyep: float32 varValue: 12.3 varName : Authors varTyep: []string varValue: [张三 李四] 成功: 进程退出代码 0.
相关文章推荐
- Go语言学习七:结构体
- 关于Go语言,自己定义结构体标签的一个妙用.
- 李艺:Go语言之内的结构体模拟继承
- go语言初始化内部结构体3中方式
- 《The.Go.Programming.Language.2015.11.pdf》之map和结构体
- 打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)
- go struct结构体
- GO语言为结构体排序
- go:结构体的可访问性
- go 实现结构体的复制
- go 结构体
- 【Go语言】【12】GO语言的结构体 推荐
- go 语言包结构体访问权限控制
- go 数组(array)、切片(slice)、map、结构体(struct)
- go语言结构体
- Go基础编程:复合类型—结构体
- go结构体的学习和使用
- Go语言结构体与二进制数组转换
- Go语言中的匿名结构体用法实例
- go结构体中String接口的实现为什么是结构体而不是指针