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