Golang 取消设置结构字段
Golang unset Struct Field
在 Golang 中,我有以下包含三个字段的结构
type Person struct {
name string
age int
rank int
}
对于处理,我需要一个排名字段,但对于输出,我想从结构中排除排名字段,因为我直接将上面的结构传递给 JSON 编码器以抛出响应。
有什么方法可以取消 Struct 中的排名字段?
要取消设置字段,请为其分配零值,例如:
var p Person
p.rank = 0
还知道如果你想用Person
和JSON一起工作,你必须导出字段,未导出的字段不会被encoding/json
包处理,所以改变Person
至:
type Person struct {
Name string
Age int
rank int
}
仅此一项就会使 rank
被排除在 JSON 处理之外,因为它未导出。
如果您也需要导出 rank
字段,则使用 json:"-"
标记值从 JSON 处理中排除导出的字段:
type Person struct {
Name string
Age int
Rank int `json:"-"`
}
在 Golang 中,我有以下包含三个字段的结构
type Person struct {
name string
age int
rank int
}
对于处理,我需要一个排名字段,但对于输出,我想从结构中排除排名字段,因为我直接将上面的结构传递给 JSON 编码器以抛出响应。
有什么方法可以取消 Struct 中的排名字段?
要取消设置字段,请为其分配零值,例如:
var p Person
p.rank = 0
还知道如果你想用Person
和JSON一起工作,你必须导出字段,未导出的字段不会被encoding/json
包处理,所以改变Person
至:
type Person struct {
Name string
Age int
rank int
}
仅此一项就会使 rank
被排除在 JSON 处理之外,因为它未导出。
如果您也需要导出 rank
字段,则使用 json:"-"
标记值从 JSON 处理中排除导出的字段:
type Person struct {
Name string
Age int
Rank int `json:"-"`
}