Arrays 如何在struct中附加切片
Go将项添加到切片或数组的语法是什么Arrays 如何在struct中附加切片,arrays,go,struct,slice,Arrays,Go,Struct,Slice,Go将项添加到切片或数组的语法是什么 package main import "fmt" type Car struct{ Code string Brand string Type string Price int Supply int } var Stock []Car func init() { Stock = []Car{ Car{ Code:"TOY13EMTAV",
package main
import "fmt"
type Car struct{
Code string
Brand string
Type string
Price int
Supply int
}
var Stock []Car
func init() {
Stock = []Car{
Car{
Code:"TOY13EMTAV",
Brand:"Toyota Avanza",
Type:"1.3 E M/T",
Price:191100000,
Supply:2,
},
Car{
Code:"TOY15GMTAV",
Brand:"Toyota Avanza",
Type:"1.5 G M/T",
Price:221250000,
Supply:3,
},
Car{
Code:"TOY15GCVTYAR",
Brand:"Toyota Yaris",
Type:"G CVT",
Price:257650000,
Supply:5,
},
}
}
可以使用内置方法将数据添加到切片中。若要附加到切片,请将切片作为参数传递,并将新切片分配回原始切片。如果你只是在学习这门语言,那么你为什么要这样做的细节并不重要,但足以说明这会使事情更有效率。例如:
Stock = append(Stock, Car{
Code: "newcar",
// …
})
如果您想更好地理解append,您可能还会发现from on append很有用
这里是您的示例的一个修改版本,可以在运动场上运行。我对代码做了一些其他小改动,这些改动可能对新开发人员有用,也可能对新开发人员不有用:
您好,欢迎并感谢您的提问!你能用你到目前为止尝试过的方法更新你的例子吗?这样我们就可以知道你在做什么了。我用这种方法@SamWhited`func addStock{var new Car var totalArr int totalArr=lenStock fmt.Scanln&new.Code,&new.Brand,&new.Type,&new.Price,&new.Supply appendStock[totalArr].Code,new.Code}`但是我得到了一个错误,比如第一个附加的参数必须是slice;我已经添加了一个例子来解释这一点;要追加的第一个参数实际上是切片本身。但是,看起来您可能正在尝试修改切片中的某些内容,而不是在其上添加新车?这与你最初的问题不太清楚。这就是你想要做的,还是你想要在片中添加一辆新车?你不能在数组中添加任何东西。数组是固定长度的。只能更改数组元素。好的,现在我已经开始了解它在围棋中的工作方式了,谢谢你帮助了一个洛蒂我很高兴这很有帮助,祝你学习围棋好运,这是一个很好的小语言,我相信你会喜欢它的!如果这回答了你的问题,别忘了用大绿色复选框将其标记为答案,以帮助将来在搜索时可能遇到此问题的其他人。谢谢