入门第 15 / 20 节35 分钟 · 实操
泛型(generics)
Go 课程的一部分
你写了一个函数,从一个 int 切片里找出最大的数。接着你需要一个 float64 版本,于是复制一份,改两个词。然后又要一个 string 版本。现在有三个几乎一样的函数摆在那里,等你修好其中一个的缺陷,还得记得另外两个。
Go 在它的大半生里对这件事都没有干净的答案。你要么把函数复制一遍,要么用 interface{},而后者什么都收,同时把类型检查全都放弃了,于是编译器再也没法告诉你传进来的切片装错了东西。要么重复,要么让编译器变瞎,只能挑一个。
想在真实环境里学习 Go 泛型(generics) 吗?
点击下方,立即获得一台预装 Go 的 Linux 主机,跟懂你代码的 AI 导师一起完成 泛型(generics) 的实操练习。
开始这节课泛型(generics)你将学到什么
- Type parameters with [T any]
- Constraints
- Comparable
- Tilde approximation ~int
- Generic Map and Filter
- When generics help, when they do not
