V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
gramyang
V2EX  ›  Go 编程语言

go 为什么只有 hashmap?

  •  
  •   gramyang · 2019-07-23 20:35:30 +08:00 · 3987 次点击
    这是一个创建于 1979 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    10 条回复    2019-07-24 10:31:41 +08:00
    ai277014717
        1
    ai277014717  
       2019-07-23 20:45:00 +08:00
    less is more?
    tairan2006
        2
    tairan2006  
       2019-07-23 20:49:04 +08:00
    第三方库里面是有的
    misaka19000
        3
    misaka19000  
       2019-07-23 20:49:37 +08:00
    我也很困惑,之前不得已自己实现了一个 SkipList 来存储有序的数据
    scnace
        4
    scnace  
       2019-07-23 21:03:52 +08:00 via Android
    treemap 有的 看下 gods 这个库
    janxin
        5
    janxin  
       2019-07-23 21:10:37 +08:00
    因为标准库不提供?
    reus
        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 还没有泛型,有泛型会更好写好用一些
    laravel
        7
    laravel  
       2019-07-24 09:11:36 +08:00
    出来的晚,轮子没造全
    lance6716
        8
    lance6716  
       2019-07-24 09:39:13 +08:00 via Android
    为什么 Python 也没有,为什么有序字典的地位这么低
    mlxy123123
        9
    mlxy123123  
       2019-07-24 10:06:37 +08:00
    lance6716
        10
    lance6716  
       2019-07-24 10:31:41 +08:00 via Android
    @mlxy123123 我指的是 treemap 那种大小关系的全序,不是插入顺序
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   969 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:15 · PVG 03:15 · LAX 11:15 · JFK 14:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.