golang中的struct标签tag
发布时间:2020-12-16 09:20:47  所属栏目:大数据  来源:网络整理 
            导读:这个以前用beego时涉及过,时间久了,就忘了。 现在k8s里的controller,一样用了这个语法, 再拾起来吧。 http://www.01happy.com/golang-struct-tag-desc-and-get/ 但这个帖子中,bson的tag没有测试成功,再议吧。 package mainimport ("encoding/json""fmt
                
                
                
            | 这个以前用beego时涉及过,时间久了,就忘了。 现在k8s里的controller,一样用了这个语法, 再拾起来吧。 http://www.01happy.com/golang-struct-tag-desc-and-get/ 但这个帖子中,bson的tag没有测试成功,再议吧。 package main
import (
	"encoding/json"
	"fmt"
	"reflect"
)
func main() {
	type User struct {
		UserId   int    `json:"user_id_json" bson: "user_id_bson"`
		UserName string `json:"user_name_json" bson: "user_name_bson"`
	}
	// 输出json格式
	u := &User{UserId: 1,UserName: "tony"}
	j,_ := json.Marshal(u)
	fmt.Println(string(j))
	// 输出内容:{"user_id_json":1,"user_name_json":"tony"}
	// 获取tag中的内容
	t := reflect.TypeOf(u)
	field := t.Elem().Field(0)
	fmt.Println(field.Tag)
	// 输出:json:"user_id_json" bson: "user_id_bson"
	fmt.Println(field.Tag.Get("json"))
	// 输出:user_id_json
}
 
 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 

