go 泛型使用情况咨询

2023-04-21 14:28:30 +08:00
yujianwjj  yujianwjj

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

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

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

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

3634 次点击
所在节点   Go 编程语言  Go 编程语言
18 条回复
fzdwx
fzdwx
2023-04-21 14:31:59 +08:00
没有方法泛型有点鸡肋
fengjianxinghun
fengjianxinghun
2023-04-21 14:37:44 +08:00
golang 的泛型太烂,有点鸡肋
chotow
chotow
2023-04-21 14:38:15 +08:00
learningman
learningman
2023-04-21 15:30:03 +08:00
entgo 用了挺多泛型的,还把 goalng/x 的静态分析库搞崩了,现在还在修
ryalu
ryalu
2023-04-21 15:38:42 +08:00
@chotow #3 再帮 补充两个
https://github.com/elliotchance/pie
https://github.com/sourcegraph/conc
用泛型写写工具还行~
matrix1010
matrix1010
2023-04-21 15:57:20 +08:00
补充一个泛型 cache: https://github.com/Yiling-J/theine-go
dbskcnc
dbskcnc
2023-04-21 16:02:29 +08:00
qW7bo2FbzbC0
qW7bo2FbzbC0
2023-04-21 16:04:38 +08:00
```
有比没有强
又不是不能用
加了就加了
```
虽然餐费,但说实话比没有的时候省了一些重复代码,重构实现的时候也整齐一点
Mohanson
Mohanson
2023-04-21 16:12:21 +08:00
自己只在实现 LRU 缓存的时候用到: https://github.com/godump/lru/blob/master/lru.go#L9
yl20181003
yl20181003
2023-04-21 16:29:14 +08:00
用了但没有完全用
lizon
lizon
2023-04-21 18:03:53 +08:00
啥时候标准库广泛使用泛型改写了,啥时候考虑用,当然也只是考虑考虑
pkoukk
pkoukk
2023-04-21 18:34:52 +08:00
用了,但不是特别广泛
主要是不支持方法泛型,所以基本只能在 package 内部做,范围很有限
package 之间还是 interface 合适
securityCoding
securityCoding
2023-04-21 20:32:12 +08:00
有用但不多
Maboroshii
Maboroshii
2023-04-21 23:59:26 +08:00
用了,封装一些工具类的函数,比较甜
Dreamacro
Dreamacro
2023-04-22 00:26:38 +08:00
huyujievip
huyujievip
2023-04-22 10:19:57 +08:00
去年开始写框架的时候已经用上了,生产跑得很欢
zhangjc
zhangjc
2023-04-29 01:48:15 +08:00
已 star ,下一个场景就试试. 另外建议可以放下和 bigcache 之类的 benchmark 的对比数据
dragonsunmoon
dragonsunmoon
2023-05-30 18:11:40 +08:00
go 的标准库都还没有敢用泛型呢

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

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

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

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

© 2021 V2EX