相关疑难解决方法(0)

Go中缺少阵列/切片协方差的任何明智的解决方案?

我刚遇到的问题是在以下情况下该怎么做:

func printItems(header string, items []interface{}, fmtString string) {
  // ...
}

func main() {
  var iarr = []int{1, 2, 3}
  var farr = []float{1.0, 2.0, 3.0}
  printItems("Integer array:", iarr, "")
  printItems("Float array:", farr, "")
}
Run Code Online (Sandbox Code Playgroud)

Go没有泛型,也不允许使用集合协方差:

prog.go:26: cannot use iarr (type []int) as type []interface { } in function argument      
prog.go:27: cannot use farr (type []float) as type []interface { } in function argument
Run Code Online (Sandbox Code Playgroud)

想法?

arrays covariance go

6
推荐指数
3
解决办法
1252
查看次数

标签 统计

arrays ×1

covariance ×1

go ×1