從嵌套函數內部設置結構不起作用。我已經嘗試過文檔中的示例: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 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消