我正在尝试使用未知大小的矩阵进行矩阵减法。这是代码:
type ArrayLike interface {
[]interface{} | [][]interface{} | [][][]interface{} | [][][][]interface{}
}
func subMatrix[T ArrayLike](A, B T, shape []int) interface{} {
dim := shape[0]
if len(shape) == 1 {
retObj := make([]interface{}, dim)
for i := 0; i < dim; i++ {
Av := A[i].(float64)
Bv := B[i].(float64)
retObj[i] = Av - Bv
}
return retObj
} else {
retObj := make([]interface{}, dim)
for i := 0; i < dim; i++ {
retObj[i] = subMatrix(Av[i], Bv[i], shape[1:])
}
return retObj
}
}
它抱怨
无效操作:无法索引 A(受 []interface{}|[][]interface{}|[][][]interface{}|[][][][]interface{} 约束的类型 T 的变量)compilerNonIndexableOperand
有谁知道如何做这项工作?
眼眸繁星
相关分类