从嵌套函数内部设置结构不起作用。我已经尝试过文档中的示例:https ://play.golang.org/p/Pw9f20zwjatype myStruct struct { abrakadabra bool }func (f *ChangeMe) SetName(abrakadabra bool) { f.abrakadabra = true}func something() { var flag ChangeMe f := new(ChangeMe) copy := func(r io.ReadCloser, w io.WriteCloser) { //...some code.. if err != nil { f.SetName(true) log.Println(flag.abrakadabra) } } 在日志打印中 - abrakadabra 布尔值仍然为 false(初始值),为什么它不更改为 true?
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
您在 f 上运行 SetName,然后打印标志中的值。f 和 flag 是 ChangeMe 类型的两个不同值。
f.SetName(true)
log.Println(f.abrakadabra)
或者
flag.SetName(true)
log.Println(flag.abrakadabra)
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消