首页 >后端开发 >Golang >到目前为止,使用 Go 泛型的场景有哪些?

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

Golang菜鸟
Golang菜鸟转载
2023-08-04 17:27:191202浏览

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

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

(被黑的点少了一个?)

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

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

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

  • 切片、映射、集合等工具库。
  • 代码生成器的库。
  • 缓存层的库。
  • 算法、数据结构相关的库。
  • 并发管理器。
这些场景,包含了你正在做的 Go 泛型方向吗?

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

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

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

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

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

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

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

以上是到目前为止,使用 Go 泛型的场景有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:Golang菜鸟。如有侵权,请联系admin@php.cn删除