kubernetes学习笔记----- Go语言中structTag
来源:互联网 发布:网络和共享中心打不开 编辑:程序博客网 时间:2024/05/19 12:14
在读kubernetes源码的时候,读到https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/extensions/types.go k8s的type的时候,遇到这样一段代码,
// represents a scaling request for a resource.type Scale struct {unversioned.TypeMeta `json:",inline"`// Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.api.ObjectMeta `json:"metadata,omitempty"`// defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.Spec ScaleSpec `json:"spec,omitempty"`// current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only.Status ScaleStatus `json:"status,omitempty"`}
然后后面的 `` 里面的 json字符串,我就不明白了
这是Go语言的structTag
1 干什么用的?
如果希望手动配置结构体的成员和JSON字段的对应关系,可以在定义结构体的时候给成员打标签:
使用omitempty熟悉,如果该字段为nil或0值(数字0,字符串"",空数组[]等),则打包的JSON结果不会有这个字段。
2 怎么用啊 ? http://blog.csdn.net/tiaotiaoyly/article/details/38942311点击打开链接
type Message struct {Name string `json:"msg_name"` // 对应JSON的msg_nameBody string `json:"body,omitempty"` // 如果为空置则忽略字段Time int64 `json:"-"` // 直接忽略字段}var m = Message{Name: "Alice",Body: "",Time: 1294706395881547000,}data, err := json.Marshal(m)if err != nil {fmt.Printf(err.Error())return}fmt.Println(string(data))Output:{"msg_name":"Alice"}
0 0
- kubernetes学习笔记----- Go语言中structTag
- Go语言学习笔记
- Go语言学习笔记
- go语言学习笔记
- Go语言学习笔记
- GO语言学习笔记
- Go语言学习笔记
- GO语言学习笔记
- Go语言学习笔记
- Go语言学习笔记
- Go语言学习笔记
- go语言学习笔记
- Go语言,Docker和Kubernetes
- Go学习笔记-go语言基础
- Go 学习笔记:Go 语言数据类型
- go语言学习笔记11
- GO语言学习笔记一
- Go语言学习笔记1
- 手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(上)-转
- 【Java】上传文件进度条的实现方法(附demo源码下载)
- java(13)--配置https加密连接器并生成数字证书
- 手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(下)-转
- 权限管理部分的一些设计与想法
- kubernetes学习笔记----- Go语言中structTag
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三 1-转
- 关于jquery动态加载li时点击事件无法加载的问题
- JAVA解决乱码之道
- mapreduce yarn 的job提交流程
- HBase Memstore
- 图集
- 馨瑶
- asp.net站点500.12错误解决办法