作为参数的泛型
根据《Go 之旅》,先了解一个拓展知识(以下内容是《Go 之旅》里没有的解释,并且这一页的文档标题“类型参数”的误导性很强,导致我思考了好久)。
go
func Index[T comparable](s []T, x T) int {
// 函数体
}上方的代码中,[T comparable] 修饰的并非后面的参数内容,而是函数本身,他的意思是:给 Index 这个函数引入一个类型参数 T,并且限制 T 必须满足 comparable 约束(也就是可以用 ==、!= 比较)。
这个 T 在函数里可以到处用,实例代码里面的函数参数部分只是恰好用到了,并非只能作为参数。