Goroutine
调用函数时前面加上go关键字,就可以创建一个Goroutine
可以创建多个Goroutine去执行多个函数
func main() {go func(){fmt.Println("hello")}()}
运行以上代码,会惊喜的发现你的控制台并没有打印任何东西,这是因为协程还未执行完,主进程就已经结束了
func main() {go func(){fmt.Println("hello")}()time.Sleep(1 * time.Second)}
通过time.Sleep()函数让主函数等待Goroutine执行完成,这浪费的更多的时间
// 创建等待组wg := &sync.WaitGroup{}// 添加计数wg.Add(1)go func() {fmt.Println("hello")wg.Done()}()// 等待计数归零wg.Wait()
