Go的map对标C++中的unordered_map<T1,T2>(底层hash),在Go中目前并没有类似C++STL中的map<T1,T2>(底层红黑树)。在使用多维map时,遇到一个坑…
问题
在C++中,一个二维unordered_map赋值可以用下面方法
1 |
|
在Go中,想用类似方式进行赋初值
1 |
|
改进一下赋值方式
1 |
|
分析
Go中map的使用更像是java中对象的用法,变量其实是一个指针,随时需要考虑指针是否为空。而C++中由于对象直接在栈中被自动创建了,所以可以直接使用。
解决方案
1 |
|