Goroutines
Goroutine 是 GO 提供的轻量级线程(协程),你可以无脑将并发任务塞给他,由 GO 运行时系统自动调度和管理。
关键字:go
示例
go
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}在这个例子中,say("world") 是一个 goroutine,它会在后台运行,而 say("hello") 则在主 goroutine 中执行。由于 say("world") 是并发执行的,所以它会和 say("hello") 交替输出结果。