我有一个结构。我想清除除一些公共字段以外的所有字段,例如Name, Gender,如何通过方法实现功能?
在我的真实代码中,我在结构中有很多字段,所以手动重置这些敏感字段不是我的选择。
type Agent struct {
Name string
Gender string
Secret1 string
Secret2 string
}
func (a *Agent) HideSecret() {
fmt.Println("Hidding secret...")
new := &Agent{
Name: a.Name,
Gender: a.Gender,
}
a = new
}
我尝试了一些*和的组合&,但似乎不起作用......请帮忙。
James := Agent{
Name: "James Bond",
Gender: "M",
Secret1: "1234",
Secret2: "abcd",
}
fmt.Printf("[Before] Secret: %s, %s\n", James.Secret1, James.Secret2)
James.HideSecret()
fmt.Printf("[After] Secret: %s, %s\n", James.Secret1, James.Secret2) // not working
golang 操场在这里:https ://go.dev/play/p/ukJf2Fa0fPI
胡子哥哥
白衣非少年
jeck猫
随时随地看视频慕课网APP
相关分类