go 泛型使用情况咨询 - V2EX
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 3977 次点击
    这是一个创建于 905 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    18 条回复    2023-05-30 18:11:40 +08:00
    lllllliiii
        1
    lllllliiii  
       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 的静态分析库搞崩了,现在还在修
    ryan961
        5
    ryan961  
       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
    用了但没有完全用
    x8
        11
    x8  
       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
    502Chef
        16
    502Chef  
       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     Solana     3526 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:07 PVG 08:07 LAX 17:07 JFK 20:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86