go 为什么只有 hashmap?

2019-07-23 20:35:30 +08:00
 gramyang

为什么 go 中只有 hashmap ?而不像 java 一样提供 treemap 和 linkedhashmap 呢?

上网查了一下,貌似是 go 的开发团队有意为之??

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/585567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX