package main import ( "fmt" ) func main() { /* 一个goroutine打印数字,另外一个goroutine打印字母,观察运行结果。。 并发的程序的运行结果,每次都不一定相同。 不同计算机设备执行,效果也不相同。 go语言的并发:go关键字 系统自动创建并启动主goroutine,执行对应的main() 用于自己创建并启动子goroutine,执行对应的函数 go 函数()//go关键创建并启动goroutine,然后执行对应的函数(),该函数执行结束,子goroutine也随之结束。 子goroutine中执行的函数,往往没有返回值。 如果有也会被舍弃。 */ //1.先创建并启动子goroutine,执行printNum() go printNum() //2.main中打印字母 for i:=1;i<=100;i++{ fmt.Printf(" 主goroutine中打印字母:A %d ",i) } //time.Sleep(1*time.Second) fmt.Println("main...over...") //主goroutine结束了,子goroutine不管执行是否完毕,都得结束 //==========数字值打印到86======== //子goroutine中打印数字:85 //子goroutine中打印数字:86 //主goroutine中打印字母:A 97 //主goroutine中打印字母:A 98 //主goroutine中打印字母:A 99 //主goroutine中打印字母:A 100 //main...over... // //Process finished with exit code 0 } func printNum() { for i := 1; i <= 100; i++ { fmt.Printf("子goroutine中打印数字:%d ", i) } }