Goroutine的闭包函数

闭包函数可以直接引用外层代码定义的变量,需要注意的是,在闭包函数里面引用的是变量的地址,当goroutine被调度时,改地址的值才会被传递给goroutine 函数。

使用匿名函数或闭包创建 goroutine 时,除了将函数定义部分写在 go 的后面之外,还需要加上匿名函数的调用参数,格式如下:

  1. go func( 参数列表 ){
  2. 函数体
  3. }( 调用参数列表 )

其中:

  • 参数列表:函数体内的参数变量列表。
  • 函数体:匿名函数的代码。
  • 调用参数列表:启动 goroutine 时,需要向匿名函数传递的调用参数。