接口作为参数。这怎么可能?https://github.com/skelterjohn/go.matrix/blob/go1/matrix.go这个包有这个接口type MatrixRO interface { Nil() bool Rows() int Cols() int NumElements() int GetSize() (int, int) Get(i, j int) float64 Plus(MatrixRO) (Matrix, error) Minus(MatrixRO) (Matrix, error) Times(MatrixRO) (Matrix, error) Det() float64 Trace() float64 String() string DenseMatrix() *DenseMatrix SparseMatrix() *SparseMatrix}接口只有方法。不是数据结构。那么 Plus(MatrixRO) 怎么接收接口作为参数呢?即使MatrixRO里面没有任何数据,如何操作plus?该函数还接收 func String(A MatrixRO) string {MatrixRO 作为参数。怎么可能?是因为线路DenseMatrix() *DenseMatrixSparseMatrix() *SparseMatrix? 如果它需要嵌入一些东西,不应该像下面这样吗?DenseMatrixSparseMatrixps DenseMatrix 和 SparseMatrix 结构定义如下:type DenseMatrix struct { matrix elements []float64 step int}
- 1 回答
- 0 关注
- 300 浏览
添加回答
举报
0/150
提交
取消