Go Example--协程

package main

import "fmt"

func main() {
	//main gorouting中调用f函数
	f("direct")
	//重新建一个goroutine执行f函数
	go f("goroutine")
	//重新建一个goroutine执行函数
	go func(msg string) {
		fmt.Println(msg)
	}("going")
	var input string
	fmt.Scanln(&input)
	fmt.Println("done")
	//各个goroutine并行执行,main goroutine执行结束后,不会等到别的goroutine执行完成
}

func f(from string)  {
	for i:=0;i<3;i++{
		fmt.Println(from,":",i)
	}
}
原文地址:https://www.cnblogs.com/promenader/p/9802450.html