案例:计算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