package main
import (
"fmt"
)
func say(s string) {
for i := 0; i < 5; i++ {
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
为什么结果是这样的?
package main
import (
"fmt"
)
func say(s string) {
for i := 0; i < 5; i++ {
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
为什么结果是这样的?
7 回答5.6k 阅读
6 回答7.1k 阅读✓ 已解决
4 回答2.5k 阅读
2 回答1.1k 阅读✓ 已解决
1 回答2.3k 阅读
2 回答1k 阅读
1 回答1.1k 阅读
答:
main函数执行完,如果goroutine没执行完,那么不会等待goroutine执行完,整个程序就会直接退出。
所以他们代码都是这样写的