繁体   English   中英

Golang未设置结构字段

[英]Golang unset Struct Field

在Golang中,我在Struct下面有三个字段

type Person struct {
   name string
   age  int
   rank int
}

对于Processing,我需要一个rank字段,但是对于输出,我想从struct中排除rank字段,因为我直接将struct上面的内容传递给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:"-"`
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM