簡體   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