go 创建协程时最后一个括号是什么意思?

image.png
我一直没懂这个括号里面的i+1是什么意思,多数示例里面是空的

阅读 3.5k
4 个回答

就和普通方法调用传参一样啊

在 func i int 那边就是传参的这个值

go 后面是一个函数调用。后面的括号就是函数调用的参数。

没有 go ,就在当前 goroutine 执行;加上 go ,就在新的 goroutine 里执行。

换成这样写就好理解了

func echo(a int){
    fmt.Println(a)
}

for i:=0; i<num; i++ {
    go echo(i+1)
}

func main() {
    func(s string){
        fmt.Println(s)
    }("happy")
}

这是 golang 匿名函数的语法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题