Go 官方的新教程:泛型 和 fuzz test

2022-03-12 11:53:15 +08:00
 nanmu42

Go 1.18 还有 7 个 issue 就发布了: https://github.com/golang/go/milestone/201

4526 次点击
所在节点    Go 编程语言
12 条回复
haoliang
2022-03-12 12:02:33 +08:00
```
type Number interface {
int64 | float64
}
```

我之前一直以为 interface 仅是对行为的约束,现在也可以代表类型了
aristotll
2022-03-12 12:05:43 +08:00
还没有说吗我先来,go 不需要泛型 😠
keepeye
2022-03-12 12:21:31 +08:00
已经用上了,写了一些工具函数感觉还可以
9c04C5dO01Sw5DNL
2022-03-12 12:57:32 +08:00
他们不是说:go 不需要泛型吗?

看不懂了,真的看不懂了。我是说看不懂邪教信徒了,不是说看不懂 go 了。
keepeye
2022-03-12 16:42:46 +08:00
// 从一个 slice 中随机取一个元素
func Choice[T any](items []*T) *T {
if len(items) == 0 {
return nil
}
return items[rand.Intn(len(items))]
}
james122333
2022-03-12 20:13:27 +08:00
泛型虽然好用 但无疑会增加代码複杂度
事先定义好也不是不可以 希望不要作为隐藏实现细节的框架使用 代码世界坑还不够多吗
kunkunzhang
2022-03-12 20:24:59 +08:00
@james122333 事先定义好的,要么重载,要么像 js 一样弱类型,泛型不就是为了解决这种问题的吗
james122333
2022-03-12 20:43:14 +08:00
@kunkunzhang

泛型是节省重複代码 事先定义说的是不节省
代码生成也是可以的
EPr2hh6LADQWqRVH
2022-03-12 21:06:41 +08:00
🤮 可读性劝退
yin1999
2022-03-12 22:28:54 +08:00
现在是 15 个 issues 🙃
burby
2022-03-13 00:42:25 +08:00
@yin1999 7 个应该是指的 block tag 的 issue 吧
yin1999
2022-03-13 07:11:07 +08:00
@burby 哦哦,是的

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

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

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

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

© 2021 V2EX