【发布时间】:2017-10-10 07:09:11
【问题描述】:
我有一个结构:
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)}
object B 有一些属性,nil (string), false (bool), 0 (int),... 我想检查 B 的字段是否未分配值,该字段将接收 A 中相同字段的值,
示例:
B 的 About 字段为零;
A 的 About 字段是“我是管理员” 我想 B 的 About 字段是“我是管理员”。
我会写代码:
if len(B.About) == 0 {
B.About = A.About
} 与其他字段类似,我不想一步步检查所有字段。
【问题讨论】:
-
您可能想重新表述您的问题。我看了 4 遍,还是不知道你的问题是什么。
-
我的问题更新了,非常感谢!
-
好的,现在我明白了。这是可行的,以一种通用的方式,但这需要使用反射包。如果性能对您来说不是问题,则可以考虑。
-
你可以帮助我一个简单的小代码。我不知道如何解决这个问题。
-
我正在写。