go reflect

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))
	}
}

  

posted on 2021-11-11 18:27  running-fly  阅读(30)  评论(0编辑  收藏  举报

导航