到目前为止,使用 Go 泛型的场景有哪些?

大家好,我是煎鱼。

今天这篇文章是想收集大家在泛型内的使用场景是什么,一起捣鼓捣鼓。所以标题其实是提问了。

Go1.18 在今年的 3 月 15 号已经正式发布,这意味着 Go 正式进入了泛型时代。

(被黑的点少了一个?)

c4df6a379e835b3c9c76bbd0af11c741.png

距离发布 1.18 现在已经过去了近 3 个月,新特性中最瞩目的泛型,又应用的怎么样呢?

根据 reddit 上各 gopher 的反馈,现阶段至少有以下几种使用场景:

  • 切片、映射、集合等工具库。

  • 代码生成器的库。

  • 缓存层的库。

  • 算法、数据结构相关的库。

  • 并发管理器。

这些场景,包含了你正在做的 Go 泛型方向吗?

从国外论坛反馈的结果来看,对泛型的推广比较伤的是 gopls/golangci-lint 工具的兼容性问题,有不少的 lint 还没有适配新版本的泛型语法,也就是对泛型的支持非常有限。

如下《Support of go1.18[1]》的 issues:

9d2fd1fc3017786f3b813d97b782b697.png

国外对于 golangci-lint 依赖度明显高很多,成熟的项目基本都是必跑的。从而会导致出现公司允许不使用,因为 golangci-lint 还不支持。

另外有比较保守或是没应用场景的同学,在等待后续 Go1.19+ 的标准库和更多通用库上对泛型的支持,再进一步使用。

各位在日常和公司中有没有开始用泛型呢,做了些什么,场景是什么?

欢迎在评论区告诉大家,一起学习交流。

参考资料

[1]

Support of go1.18: https://github.com/golangci/golangci-lint/issues/2649

关注和加煎鱼微信,

获取业内消息和知识,拉你进交流群👇

8a4c7bc518b15eab4c6c8b705459b0f9.png

4fa3905a63b41ccaba2bdce9fc4a7946.png

你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路

日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值