Golang Go语言中泛型使用情况咨询
golang 支持泛型也有一段时间了,目前自己在项目中还没有实际使用过泛型。想咨询几个问题
-
之前使用 golang 的过程中,很多基本的数据结构要自己写,就连最简单的比较两个 int 大小都要自己写。当前时间点 golang 标准库的一些数据结构和算法有用泛型重写吗?
-
我看很多 golang 开源项目依然没有使用泛型,目前有哪些大型的 golang 项目用了泛型?
以前感觉 golang 没有泛型很不爽,现在有了泛型好像也就那样,感觉大家对泛型没有很积极。
Golang Go语言中泛型使用情况咨询
更多关于Golang Go语言中泛型使用情况咨询的实战教程也可以访问 https://www.itying.com/category-94-b0.html
golang 的泛型太烂,有点鸡肋
entgo 用了挺多泛型的,还把 goalng/x 的静态分析库搞崩了,现在还在修
#3 再帮 补充两个
https://github.com/elliotchance/pie
https://github.com/sourcegraph/conc
用泛型写写工具还行~
补充一个泛型 cache: https://github.com/Yiling-J/theine-go
<br>有比没有强<br>又不是不能用<br>加了就加了<br>
虽然餐费,但说实话比没有的时候省了一些重复代码,重构实现的时候也整齐一点
自己只在实现 LRU 缓存的时候用到: https://github.com/godump/lru/blob/master/lru.go#L9
用了但没有完全用
啥时候标准库广泛使用泛型改写了,啥时候考虑用,当然也只是考虑考虑
用了,但不是特别广泛
主要是不支持方法泛型,所以基本只能在 package 内部做,范围很有限
package 之间还是 interface 合适
有用但不多
已 star ,下一个场景就试试. 另外建议可以放下和 bigcache 之类的 benchmark 的对比数据
go 的标准库都还没有敢用泛型呢
关于Golang中泛型的使用情况,以下是一些专业解答:
Golang的泛型自Go 1.18版本引入,极大地提升了代码的抽象性和可重用性。泛型允许程序员在编程时用泛型来代替某个实际的类型,而后通过实际调用时传入或使用自动推导来对泛型进行替换,以达到代码复用的目的。
在使用泛型的过程中,操作数据类型被指定为一个参数,这种参数类型在类、接口和方法中,分别称为泛型类、泛型接口、泛型方法。泛型的主要优点是提高代码的可复用性和类型安全性。它使得编写通用代码更加简洁和灵活,提供了处理不同类型数据的能力,进一步增强了Go语言的表达力和可重用性。
Go语言中的泛型通过类型参数引入,并使用类型约束来指定类型参数的要求。例如,可以使用T any
来表示T可以是任何类型,或者使用更具体的约束,如要求T是可比较的(T comparable
)。
泛型在Go语言中的应用非常广泛,可以用于编写可以处理任何类型的函数和数据结构,如泛型排序函数、容器(如切片和映射)等。此外,泛型还可以与接口结合使用,以实现更加灵活的编程模式。
总的来说,Golang的泛型是一个强大的特性,它使得代码更加简洁、灵活和可重用。掌握泛型的使用对于提高Go语言编程能力和代码质量具有重要意义。