Go从入门到精通——使用匿名函数创建 goroutine
使用匿名函数创建 goroutine
go 关键字后也可以为匿名函数或闭包启动 goroutine。
一、使用匿名函数创建 goroutine 的方式
使用匿名函数或闭包创建 goroutine 时,除了将函数定义部分写在 go 的后面之外,还需要加上匿名函数的调用参数,格式如下:
go runc(参数列表){
函数体
}(调用参数列表)
参数列表:函数体的参数变量列表。
函数体:匿名函数的代码。
调用参数列表:启动 goroutine 时,需要向匿名函数传递的调用参数。
二、使用匿名函数创建 goroutine 例子
在 main() 函数中创建一个匿名函数并为匿名函数启动 goroutine。匿名函数没有参数。代码将并行执行定时打印计数的效果:
package main import ( "fmt" "time" ) func main() { go func() { var times int for { times++ fmt.Println("tick", times) time.Sleep(time.Second) } }() }
所有 goroutine 在 main() 函数结束时,会一同结束。