我正在尝试找到一个可以在以下代码中使用的类似接口:
func SliceMax[T comparable](ts []T) (T, error) {
if len(ts) == 0 {
return 0, errors.New("cannot get max from empty slice")
}
m := ts[0]
for _, e := range ts {
if e > m {
m = e
}
}
return m, nil
}
但是 comparable 不起作用(它在 > 标志上失败)。这里有内置界面还是我需要自己编写?