packagemainimport"fmt"funcmain(){goloop()goloop()}funcloop(){fori:=0;i
2 回答
浮云间
TA贡献1829条经验 获得超4个赞
Go语言的原则是当main函数运行结束后,所有正在运行的协程都会终止!也就是说主程序就已经退出了,go后的两个function还没来得及执行,所以看不到打印。你可以让主程序“睡”一会儿再退出,然后看看结果就明白了!packagemainimport("fmt""time")funcmain(){goloop()goloop()time.Sleep(500000)}funcloop(){fori:=0;i<10;i++{fmt.Println(i)}}
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
好歹让主goroutine阻塞住不要退出呐package mainimport ("fmt""sync")var wg sync.WaitGroupfunc main() {go loop()go loop()wg.Wait()}func loop() {wg.Add(1)for i := 0; i < 10; i++ {fmt.Println(i)}wg.Done()}
添加回答
举报
0/150
提交
取消