1
我正在浏览Go Bootcamp并正在阅读Go Concurrency章节。我从来没有在编程中使用并发之前,不明白这个程序的输出:为什么我的并发函数在Go中过早退出?
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 2; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
输出:
hello
world
hello
Program exited.
有人能解释为什么“世界”没有印像两次“你好” ?也许阐明使用并发的想法?
注意,Go游乐场链接here。