golang:omitempty用法

Posted live4m

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang:omitempty用法相关的知识,希望对你有一定的参考价值。


在struct转json时,omitempty字段的值如果是该字段类型的零值,则忽略该字段。


例:

package main

import "fmt"
import "encoding/json"

type User struct {
	Name string `json:"name"`
	Age  int    `json:"age,omitempty"`
}

func main() {
	u := User{
		Name: "abc",
		Age:  10,
	}
	bytes, _ := json.Marshal(&u)
	fmt.Println(string(bytes))

	//

	u = User{
		Name: "def",
	}
	bytes, _ = json.Marshal(&u)
	fmt.Println(string(bytes))
}

执行结果:

{"name":"abc","age":10}
{"name":"def"}

以上是关于golang:omitempty用法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Golang 中导入本地包

golang 定义结构一次,在另一个结构定义中使用

Golang使用MongoDB通用操作

Golang + MongoDB 嵌入类型(将一个结构嵌入到另一个结构中)

golang goroutine例子[golang并发代码片段]

golang代码片段(摘抄)