协程(coroutine)是Go语言中的轻量级线程实现,由Go运行时(runtime)管理。
Demo
package main
import (
"fmt"
"sync"
)
func main() {
var gp sync.WaitGroup
rel := make(map[string]interface{})
gp.Add(2)
go func(g *sync.WaitGroup) {
defer g.Done()
rel["demo1"] = getData()
}(&gp)
go func(g *sync.WaitGroup) {
defer g.Done()
rel["demo2"] = getData()
}(&gp)
gp.Wait()
fmt.Println(rel)
}
func getData() string {
return "test"
}
响应结果
map[demo1:test demo2:test]