这个以前用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 }