在type xxx struct中字段后面跟的tag的作用

来源:37-5 gin集成支付宝支付_3

曹学习

2021-05-28

type AlipayConfig struct {
	AppID        string `mapstructure:"app_id" json:"app_id"`
	PrivateKey   string `mapstructure:"private_key" json:"private_key"`
	AliPublicKey string `mapstructure:"ali_public_key" json:"ali_public_key"`
	NotifyURL    string `mapstructure:"notify_url" json:"notify_url"`
	ReturnURL    string `mapstructure:"return_url" json:"return_url"`

像这样一个结构,里面可以有很多的tag配置,由于有一些学了比较久了,有点遗忘了。故想咨询一下老师。
1.mapstructure是做什么用的?
2.json这个tag的作用是不是将结构映射成json字符串时,json字符串中的key值为结构体tag中json配置的值?
3.除了mapstructure || json || binding 外还有没有其它比较常用的tag?

写回答

1回答

bobby

2021-05-29

  1. 首先这里的应该是tag,这是go语言本身的struct的tag功能

  2. json的tag并不是go语言的特性并不是go语言的特性,这里写json是因为json这个库可以使用可以解析

  3. mapstructure是因为mapstructure这个库会使用,所以mapstructure有什么用你在github上搜索一下mapstructure就知道了

  4. 这里常用的tag并没有比较常用的说法,因为不同的库会让你不同的配置,比如你使用了mapstructure那么这个就可以配置mapstructure,如果你不使用这个库那么这个配置就相当于没用

0
1
曹学习
非常感谢!
2021-05-30
共1条回复

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程