我有一個結構:如果在結構golang中值爲零,爲0,則更新字段?
type User struct {
ID int `json:"id"`
Username string `json:"username"`
About string `json:"about"`
IsAdmin bool `json:"is_admin"`
Status int `json:"status"`
......
}
A:= User{1,"admin", "I am a admin",status: 1,....}
B:= User{ID:1, Username: "UserBBBB"}
...enter code here...
B is {1, "UserBBBB", "I am a admin", 1, ...(same value in A)}
對象B具有零一些屬性(字符串),假(布爾),0(INT),... 我要檢查,如果B的場未分配的值,該字段將接收所述的相同字段的值,
例如:
B的關於字段是零;
A的關於字段是「我是管理員」 我想B的關於字段是「我是管理員」。
我可以編寫代碼:
if len(B.About) == 0 {
B.About = A.About
} 到其他領域一樣,我不想檢查一步一步的所有領域。
你可能想改一下你的問題。我讀了4次,我仍然不知道你的問題是什麼。 –
我的問題已更新,非常感謝! –
好吧,現在我明白了。這是可行的,通用的方式,但這將需要使用反射包。如果你的表現不是問題,那麼可以考慮。 –