使用go关键字可以为一个函数创建goroutine,相当于其它编程语言的多协程操作。
启动goroutine
可以发现go func中的程序并不影响后面的代码执行,但main函数执行完毕后goroutine也会被关闭,无论剩下的代码是否执行完毕。
示例
代码语言:javascript复制package main
import (
"fmt"
"time"
)
func main() {
go func() {
time.Sleep(time.Second)
fmt.Println("2")
}()
fmt.Println("1")
// 添加等待时间,防止goroutine因为程序结束而关闭
time.Sleep(time.Second * 2)
}
运行结果
1 2