🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 8.7\. Goroutines Go语言中使用go可以启动一个goroutine。goroutine 和线程的概念类似,和程序共享一个地址空间。 goroutines和支持多路并发草组系统中的协程(coroutines)类似,用户不用关心具体 的实现细节。 ``` func server(i int) { for { print(i) sys.sleep(10) } } go server(1) go server(2) ``` (需要注意的是server函数中的for循环语句和 C++ while (true)的循环类似。) Goroutines资源开销小,比较廉价。 go也可以用于启动新定义的内部函数(闭包)为Goroutines。 ``` var g int go func(i int) { s := 0 for j := 0; j < i; j++ { s += j } g = s }(1000) // Passes argument 1000 to the function literal. ```