让 sync.Map 支持泛型

鸟窝 at 
让 sync.Map  支持泛型的配图
渐渐地, Go 泛型越来越多应用的 Go 的标准库中了。一些标准库的类型,比如 container/heap、container/list、container/ring、math 都是有机会支持泛型的,但是考虑到 Go 向下兼容的情况,这些包可能不会直接修改,最可能就是新建一些并发的包,或者放在扩展包中。本篇文章将讲一个相对复杂的例子,也就是对 sync.Map 的修改,让它支持泛型。找出变换量,将其改变为 type parametersync.Map 是一种 map,所以它遵循 map 的 K-V 的映射关系。键是一种可以比较的类型,以便进行是否相等的检查,值是任意类型。内建的 map 类型……