在下面的例子中,在变量类型中的反引号所包裹的即为tag

type ApiInfo struct {
    ApiID          int              `json:"apiID" yaml:"api_id"`
}
要比较详细的了解这个,要先了解一下golang的基础,在golang中,命名都是推荐都是用驼峰方式,并且在首字母大小写有特殊的语法含义:包外无法引用。但是由经常需要和其它的系统进行数据交互,例如转成json格式,存储到mongodb啊等等。这个时候如果用属性名来作为键值可能不一定会符合项目要求。

所以呢就多了反引号的内容,在golang中叫标签(Tag),在转换成其它数据格式的时候,会使用其中特定的字段作为键值。例如上例在转成json格式后输出对应该字段是:apiID`,而再yaml配置文件,对应的字段变成了api_id.

标签: none

评论已关闭