Closed 52LY closed 3 years ago
tk.Async 中使用的 func() ,需要注意在 for 循环中闭包中外部变量的使用。注意下面例子中 i 和 n 的区别。
package main
func main() {
var fns [3]func()
for i := 0; i < 3; i++ {
n := i
fn := func() {
println(i, n)
}
fns[i] = fn
}
fns[0]()
}
😄 感谢感谢,在使用 tk.Async 之前,tmp := in ,再把 tmp 传给 tk.Async 就行了
代码如下:
for循环执行cmd命令,每完成一个cmd命令,就在Text控件刷新第几个cmd命令完成信息
点击这个StartBtn按钮之后,结果如下图:
Text控件刷新和cmd窗口刷新 应该是一模一样的