类型参数

Go 函数可以使用类型参数来编写,从而适用于多种类型。函数的 类型参数位于方括号中,并出现在函数的 参数之前。

func Index[T comparable](s []T, x T) int

这个声明表示 s 是一个由任意类型 T 构成的切片,而该类型满足 内置约束 comparable。 x 也是同一类型的值。

comparable 是一个很有用的约束,它允许对该类型的值使用 == 和 != 运算符。在这个例子中,我们用它将一个 值依次与切片中的所有元素进行比较,直到找到匹配项。这个 Index 函数 适用于任何支持比较的类型。

< 1/3 >