Golang_tag

来源:互联网 发布:ae软件下载官方中文版 编辑:程序博客网 时间:2024/06/06 03:47

Golang tag也就是go语言中的注解

比如

type PostBody struct {Ids []int `json:"Id__in__int"`}
`json:"Id__in__int"` 这一段内容就是Ids这个属性的一个tag

我们可以通过反射来获取这个tag的值 

如下所示

package mainimport ("fmt""reflect")type PostBody struct {Ids []int `json:"Id__in__int,unix"`}func main() {//s := "{\"Id__in__int\":[101010,101009],\"text__in__string\":[\"开单\",\"测试页\"]}"//var pb struct {//Ids []int `json:"Id__in__int"`//}//err := json.Unmarshal([]byte(s), &pb)//if err == nil {//fmt.Println(pb)//}sf, _ := reflect.TypeOf(&PostBody{}).Elem().FieldByName("Ids")tag := string(sf.Tag)fmt.Println(tag)}

用途很多 比如 说 json解析  又或者 orm 都可以用到

打印结果

json:"Id__in__int,unix"

0 0
原创粉丝点击