为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Go中没有泛型?

为什么Go中没有泛型?

Go
吃鸡游戏 2021-04-09 18:19:10
有谁知道为什么Go中没有对泛型/模板/ whatsInAName的真正支持?因此,有一个通用的map,但由编译器提供,而Go程序员不能编写自己的实现。关于如何使Go尽可能正交的所有讨论,为什么我可以使用通用类型而不创建新类型?尤其是在函数式编程方面,有lambda甚至闭包,但是在缺少泛型的静态类型系统中,我该如何编写泛型高阶函数,如filter(predicate, list)?好的,可以通过interface{}牺牲类型安全性来完成链接列表等。由于在SO / Google上进行的快速搜索没有发现任何见解,因此,仿制药(如果有的话)似乎会在事后添加到Go中。我相信Thompson会比Java员工做得更好,但是为什么要排除泛型呢?还是他们已经计划并且尚未实施?
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

实际上,根据这篇文章:

许多人得出结论(错误地认为),Go团队的立场是“ Go永远不会拥有泛型”。相反,我们了解潜在的泛型,既可以使Go变得更加灵活和强大,也可以使Go变得更加复杂。如果要添加泛型,我们希望以一种既可以实现最大程度的灵活性和强大功能,又可以尽可能减少复杂性的方式来实现。


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 402 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信