Tôi đang gặp sự cố khi chuyển một biến thành một hàm ẩn danh. Có giải pháp nào không?Go: chuyển var vào chức năng ẩn danh
import "github.com/lxn/walk"
***
var openAction [12]*walk.Action
for i := 0; i < 12; i++ {
openBmp, err := walk.NewBitmapFromFile(_films[i][0])
if err != nil {
log.Printf("Open bitmap for buildBody() :%v\n", err)
}
openAction[i] = walk.NewAction()
openAction[i].SetImage(openBmp)
openAction[i].SetText(_films[i][2])
openAction[i].Triggered().Attach(func(){
exec(i)
})
mw.ToolBar().Actions().Add(openAction[i])
}
exec (i) nơi mà tôi luôn = 11
Được trả lời trong [FAQ] (http://golang.org/doc/go_faq.html#closures_and_goroutines). – kostix