1.reflect.ValueOf
package main import ( "fmt" "reflect" ) type user struct { name string `昵称` sex byte `性别` } func main() { u := user{"Tom", 1} v := reflect.ValueOf(u) t := v.Type() //返回值的类型 for i, n := 0, t.NumField(); i < n; i++ { //t.NumField() 类型的字段数量 //t.Field(i).Tag 返回结构体字段的标签 //v.Field 返回结构体字段的值 fmt.Printf("%s:%v\n", t.Field(i).Tag, v.Field(i)) } }