Golang_tag

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

比如

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

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

如下所示

package main

import (
	"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"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值