为什么 go 中只有 hashmap ?而不像 java 一样提供 treemap 和 linkedhashmap 呢?
上网查了一下,貌似是 go 的开发团队有意为之??
1
ai277014717 2019-07-23 20:45:00 +08:00
less is more?
|
2
tairan2006 2019-07-23 20:49:04 +08:00
第三方库里面是有的
|
3
misaka19000 2019-07-23 20:49:37 +08:00
我也很困惑,之前不得已自己实现了一个 SkipList 来存储有序的数据
|
4
scnace 2019-07-23 21:03:52 +08:00 via Android
treemap 有的 看下 gods 这个库
|
5
janxin 2019-07-23 21:10:37 +08:00
因为标准库不提供?
|
6
reus 2019-07-24 01:51:50 +08:00 3
go 的 map 就只是 map,是一个抽象数据类型( ADT )
hashmap 是具体实现,也就是,可以有其他实现,只要保证符合这个 ADT 的语义就行 go 的 map 是语言的一部分,是一种内置类型,而 java 的 TreeMap 和 LinkedHashMap 都是库实现,而不是语言的一部分 go 语言有 map 这个内置类型,而 java 没有,应该这样理解,而不是 go 只有 hashmap 要其他的 map,实现成库就行,像 java 那样。不过 go 还没有泛型,有泛型会更好写好用一些 |
7
laravel 2019-07-24 09:11:36 +08:00
出来的晚,轮子没造全
|
8
lance6716 2019-07-24 09:39:13 +08:00 via Android
为什么 Python 也没有,为什么有序字典的地位这么低
|
9
mlxy123123 2019-07-24 10:06:37 +08:00
|
10
lance6716 2019-07-24 10:31:41 +08:00 via Android
@mlxy123123 我指的是 treemap 那种大小关系的全序,不是插入顺序
|