您的位置:首页 > 编程语言 > Go语言

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 struct