理解 Go 中泛型的缺失
Go 是一种强调简单性和效率的编程语言。它缺乏的一个显着功能是对泛型的支持,这允许程序员创建可以对一系列不同值进行操作的自定义数据类型。
虽然泛型是许多语言中的常见概念,但 Go 中泛型的缺失引发了人们的关注。问题。为什么 Go 的创建者选择这样的设计选择?
根据 Go 官方常见问题解答,这个决定是出于对复杂性的考虑。泛型会给语言的类型系统和运行时带来显着的复杂性。 Go 团队认为,只有当它为开发人员提供明确的价值时,才应该引入这种增加的复杂性。
他们认为 Go 的内置映射和切片,以及使用空接口创建容器的能力,允许程序员实现许多与泛型相同的目标,尽管方式不太方便。
Go 团队承认泛型在未来可能很有价值,但他们认为目前的好处不要超过潜在的缺点。他们继续探索泛型的潜在设计,并在找到合适的解决方案时将其添加到语言中。
注意: 需要注意的是,泛型已在 1.18 版本中添加到 Go 中,解决原始常见问题解答条目中表达的问题。
以上是为什么 Go 最初缺乏泛型,为什么做出这个决定?的详细内容。更多信息请关注PHP中文网其他相关文章!