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。