您希望使用goroutine并通过channels同步对地图的访问权限。来自the FAQ的解释:
经过长时间的讨论,决定了地图的典型用途
不需要从多个线程安全访问,在这些情况下
它所做的,地图可能是一些较大数据结构的一部分
或已经同步的计算。因此要求
所有地图操作都会获取互斥锁会降低大多数程序的速度并添加
安全很少。然而,这不是一个容易的决定,因为它意味着
不受控制的地图访问可能导致程序崩溃。
该语言不排除原子地图更新。必要时,如此
当托管不受信任的程序时,实现可以
联锁地图访问。
自Go 1.9以来,最好的方法是使用sync.Map类型。