案例:计算1到20各个数的阶层,并且把各个数的阶层放到map中,最后显示出来,要求使用goroutine完成。
代码如下:
package main
import (
"fmt"
)
//1.map应该是全局的
var(
myMap = make(map[int]int, 10)
)
//test函数就是计算 n!,把结果放到myMap中
func test(n int){
res :=1
for i := 1; i <= n; i++{
res *= i
}
//把res放入到myMap
myMap[n] = res
}
func main() {
//开启多个协程完成这个任务
for i:=1;i<=20;i++{
go test(i)
}
//time.Sleep(time.Second)
for i,v:= range myMap{
fmt.Printf("阶层:%d!=%d\n",i,v)
}
}
执行结果如下图:
智一面王老师说运维推荐初级Golang开发工程师在线评测:http://www.gtalent.cn/exam/interview/FM2N7xj54dQBPfUE