Go 终于要搞泛型了 (1.18 版本)

2021-10-28 15:51:59 +08:00
 Jooooooooo

groups.google.com/g/golang-dev/c/iuB22_G9Kbo/m/7B1jd1I3BQAJ

"Go 1.18 will include support for generics."

4762 次点击
所在节点    Go 编程语言
26 条回复
iyear
2021-10-28 15:54:10 +08:00
kiripeng
2021-10-28 15:55:16 +08:00
是啊,不过确实火星了
Jooooooooo
2021-10-28 15:58:01 +08:00
@iyear 不一样吧, 看那个 thread 还在讨论要不要加. 这里说是确定要加了.
iyear
2021-10-28 16:04:07 +08:00
@Jooooooooo #3 没细看😂
shyrock
2021-10-28 16:09:21 +08:00
没泛型有啥干不了的吗?
Jooooooooo
2021-10-28 16:10:06 +08:00
这里面提到一点蛮有意思的, 说因为大家都没用过 go 的泛型, 所以官方文档也没法给出特别好的最佳实践.

we can't provide anything as prescriptive about style and best practices. We simply don't know them yet.
SmiteChow
2021-10-28 16:13:44 +08:00
@shyrock 都能干,只是要多干猛干
kidlj
2021-10-28 16:14:48 +08:00
范型意味着多了一种抽象方式,写大型代码更简单了(抽象的角度),阅读大型代码更困难了(理解抽象)。
defage
2021-10-28 16:35:51 +08:00
希望不要弄个假泛型或者半吊子泛。
janxin
2021-10-28 16:41:08 +08:00
@defage 什么样子是假泛型?
aababc
2021-10-28 17:01:41 +08:00
@janxin 感觉好像在说 JAVA
darknoll
2021-10-28 17:04:56 +08:00
@defage 举个例子
CodeCodeStudy
2021-10-28 17:15:10 +08:00
Go 语言之父:不要在 Go 1.18 标准库中使用泛型
https://www.oschina.net/news/164554/do-not-change-the-libraries-in-1-18
Leviathann
2021-10-28 17:19:49 +08:00
@darknoll 这个提法一般特指 java 的泛型擦除且类型系统表达力很弱
因为同样是擦除的 typescript 和 Haskell 好像没人说它们是假泛型🐶
Jooooooooo
2021-10-28 17:29:37 +08:00
@CodeCodeStudy 旧新闻了, 我发的这个是新的. 今天出的.
wingoo
2021-10-28 17:58:55 +08:00
1.18 很早就计划上泛型的, 这个讨论只是说 1.18 的版本不会把 go 的内部库改成泛型版本, 等大家都在使用了, 有了实践之后再修改
INCerry
2021-10-28 18:17:57 +08:00
要泛型?那大家来用 C#吧
iamzuoxinyu
2021-10-28 18:56:56 +08:00
@janxin 通俗来说,**编译时**进行类型展开的做法是真泛型,**运行时**把类型退化到 top type 叫做假泛型。
sagaxu
2021-10-28 19:09:15 +08:00
岂不违背大道至简原则?
EscYezi
2021-10-28 22:08:13 +08:00
@shyrock #5 没有泛型就少了很多好用的工具类库。比如 java 里大量的集合操作类。

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

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

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

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

© 2021 V2EX