gpt4 book ai didi

go - append 的第一个参数必须是 slice

转载 作者:IT王子 更新时间:2023-10-29 00:52:17 25 4
gpt4 key购买 nike

我在调用 Go 中的 append 函数时遇到问题

type Dog struct {
color string
}

type Dogs []Dog

我想将“Dog”附加到“Dogs”中。

我试过这样做

Dogs = append(Dogs, Dog)

但是我得到这个错误

First argument to append must be slice; have *Dogs

编辑:另外,如果我想检查这条狗是否包含颜色“白色”,例如。我怎么调用它?

 if Dog.color.contains("white") { 
//then append this Dog into Dogs
}

最佳答案

正如 friend 所说,它不应该是一种类型,这里有一个例子可能会有所帮助:

// Create empty slice of struct pointers.
Dogs := []*Dog{}
// Create struct and append it to the slice.
dog := new(Dog)
dog.color = "black"
Dogs = append(Dogs, dog)

关于go - append 的第一个参数必须是 slice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051117/

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