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

go 泛型使用情况咨询

  •  
  •   yujianwjj · 2023-04-21 14:28:30 +08:00 via iPhone · 3524 次点击
    这是一个创建于 580 天前的主题,其中的信息可能已经有所发展或是发生改变。

    golang 支持泛型也有一段时间了,目前自己在项目中还没有实际使用过泛型。想咨询几个问题

    1. 之前使用 golang 的过程中,很多基本的数据结构要自己写,就连最简单的比较两个 int 大小都要自己写。当前时间点 golang 标准库的一些数据结构和算法有用泛型重写吗?

    2. 我看很多 golang 开源项目依然没有使用泛型,目前有哪些大型的 golang 项目用了泛型?

    以前感觉 golang 没有泛型很不爽,现在有了泛型好像也就那样,感觉大家对泛型没有很积极。

    18 条回复    2023-05-30 18:11:40 +08:00
    fzdwx
        1
    fzdwx  
       2023-04-21 14:31:59 +08:00 via Android
    没有方法泛型有点鸡肋
    fengjianxinghun
        2
    fengjianxinghun  
       2023-04-21 14:37:44 +08:00
    golang 的泛型太烂,有点鸡肋
    chotow
        3
    chotow  
       2023-04-21 14:38:15 +08:00 via iPhone
    learningman
        4
    learningman  
       2023-04-21 15:30:03 +08:00
    entgo 用了挺多泛型的,还把 goalng/x 的静态分析库搞崩了,现在还在修
    ryalu
        5
    ryalu  
       2023-04-21 15:38:42 +08:00
    @chotow #3 再帮 补充两个
    https://github.com/elliotchance/pie
    https://github.com/sourcegraph/conc
    用泛型写写工具还行~
    matrix1010
        6
    matrix1010  
       2023-04-21 15:57:20 +08:00
    补充一个泛型 cache: https://github.com/Yiling-J/theine-go
    qW7bo2FbzbC0
        8
    qW7bo2FbzbC0  
       2023-04-21 16:04:38 +08:00
    ```
    有比没有强
    又不是不能用
    加了就加了
    ```
    虽然餐费,但说实话比没有的时候省了一些重复代码,重构实现的时候也整齐一点
    Mohanson
        9
    Mohanson  
       2023-04-21 16:12:21 +08:00
    自己只在实现 LRU 缓存的时候用到: https://github.com/godump/lru/blob/master/lru.go#L9
    yl20181003
        10
    yl20181003  
       2023-04-21 16:29:14 +08:00
    用了但没有完全用
    lizon
        11
    lizon  
       2023-04-21 18:03:53 +08:00   ❤️ 1
    啥时候标准库广泛使用泛型改写了,啥时候考虑用,当然也只是考虑考虑
    pkoukk
        12
    pkoukk  
       2023-04-21 18:34:52 +08:00
    用了,但不是特别广泛
    主要是不支持方法泛型,所以基本只能在 package 内部做,范围很有限
    package 之间还是 interface 合适
    securityCoding
        13
    securityCoding  
       2023-04-21 20:32:12 +08:00
    有用但不多
    Maboroshii
        14
    Maboroshii  
       2023-04-21 23:59:26 +08:00 via Android
    用了,封装一些工具类的函数,比较甜
    Dreamacro
        15
    Dreamacro  
       2023-04-22 00:26:38 +08:00
    huyujievip
        16
    huyujievip  
       2023-04-22 10:19:57 +08:00 via iPhone
    去年开始写框架的时候已经用上了,生产跑得很欢
    zhangjc
        17
    zhangjc  
       2023-04-29 01:48:15 +08:00 via iPhone
    已 star ,下一个场景就试试. 另外建议可以放下和 bigcache 之类的 benchmark 的对比数据
    dragonsunmoon
        18
    dragonsunmoon  
       2023-05-30 18:11:40 +08:00
    go 的标准库都还没有敢用泛型呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   984 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:58 · PVG 05:58 · LAX 13:58 · JFK 16:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.