gpt4 book ai didi

go - 将结构 B(继承自结构 A) append 到结构 A 的一片中

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:20 25 4
gpt4 key购买 nike

我有一个继承自结构 A 的结构 B。我有另一个结构 C(其中包含一部分结构 A),我想将 B append 到 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 (type *B) 用作 append 中的 type *A

请问有什么问题吗?我是新人

Ps:抱歉我的英语不好

最佳答案

col1.Cols 是*A 类型,col2 是*B 类型,col2.A 是A 类型,如果要向 slice 添加新元素,它们应该是同一类型。因此,如果您将最后一条语句更改为

col1.Cols = append(col1.Cols, &col2.A)

它会起作用的。

关于go - 将结构 B(继承自结构 A) append 到结构 A 的一片中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com