目前 Go 泛型的最佳解决方法是?

2020-02-20 21:38:19 +08:00
 szzhiyang
8795 次点击
所在节点    Go 编程语言
42 条回复
cmdOptionKana
2020-02-20 22:53:34 +08:00
没有最佳,只有这个:interface{}

不过一般人不写框架,其实需要用到泛型的地方很少了。
secondwtq
2020-02-20 23:59:20 +08:00
当然是有最佳的,就是换 Java
rdZZZ
2020-02-21 00:15:00 +08:00
不是说 go2 会加上范型么,一致等着呢
cmdOptionKana
2020-02-21 00:21:26 +08:00
@rdZZZ 传闻今年内实现
Akkuman
2020-02-21 00:24:34 +08:00
interface 加 reflect
hst001
2020-02-21 00:43:46 +08:00
不存在的,短期也不会实现,要么换语言要么忍
halo117
2020-02-21 02:32:51 +08:00
不存在的,短期内不要奢望这个特性,提高性能还是 go 开发团队首先要处理的,除非有一个能保证表达能力和性能的泛型方案出来,否则一直鸽着这个特性的
Cbdy
2020-02-21 07:30:12 +08:00
等 go2
scnace
2020-02-21 08:24:40 +08:00
自动生成
opentrade
2020-02-21 08:55:10 +08:00
我等了一年,只能选择离开,唯一割舍不下的是 goroutine
firemiles
2020-02-21 09:33:35 +08:00
想问下不支持函数重载,泛型怎么用,我常用泛型的场景就是函数重载支持多类型
justfortest
2020-02-21 09:43:56 +08:00
最佳解决办法就是不用泛型。。。
还是 python 爽啊,动态类型一时爽,一直动态一直爽
darknoll
2020-02-21 09:51:22 +08:00
又不是自己写框架,用啥泛型啊,完全不需要
rdZZZ
2020-02-21 10:00:20 +08:00
没泛型,interface 也不是不能用哈哈哈,只能等着了,而且泛型的需求好像也不是那么重要
hankai17
2020-02-21 10:07:00 +08:00
用泛型的场景多吗?
TangMonk
2020-02-21 10:10:59 +08:00
写一些公用库或者框架的时候泛型满重要的
ai277014717
2020-02-21 10:12:06 +08:00
昨天写包装接口请求时遇到这个问题。好像只能用 interface{}解决 https://gist.github.com/Kila2/789a84167b6c012147f621776c78a718
smallSoda
2020-02-21 10:35:17 +08:00
基本没用过泛型,绝大部分场景用不到,如果实在是要用,建议换个语言。没必要逼的 go 支持这个特性,每个语言都有自己的适用场景,指望一个语言变成全能不太现实。
salamanderMH
2020-02-21 11:37:22 +08:00
interface{}
reus
2020-02-21 11:54:05 +08:00
要灵活可以用 reflect 包,基本就是门动态语言了
要类型安全可以用代码分析和生成,有一点门槛
泛型可以解决上面两个的一些缺点,但也没法替代

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/646217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX