我有一个结构B,它继承自结构A。我有另一个结构C(包含结构A的一部分),我想将B附加到C。
package main
type A struct {
target string
}
type B struct{
A
values []int
}
type C struct{
Cols []*A
}
func main() {
var values = []int{1,2,3}
var col1 = C{}
var col2 = &B {
A: A{
target: "txt",
},
values: values,
}
col1.Cols = append(col1.Cols, col2)
}
运行此代码时,它会产生一个错误:不能将col2(* B型)用作附录中的* A型
请问怎么了?我是新
Ps:对不起,我的英语不好
答案 0 :(得分:3)
col1.Cols是* A类型,col2是* B类型,col2.A是A类型,如果要向切片中添加新元素,则它们应为相同类型。 因此,如果您将最后一条语句更改为
hammerjs
它将起作用。