Arrays 如何在struct中附加切片

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",

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",
            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;我已经添加了一个例子来解释这一点;要追加的第一个参数实际上是切片本身。但是,看起来您可能正在尝试修改切片中的某些内容,而不是在其上添加新车?这与你最初的问题不太清楚。这就是你想要做的,还是你想要在片中添加一辆新车?你不能在数组中添加任何东西。数组是固定长度的。只能更改数组元素。好的,现在我已经开始了解它在围棋中的工作方式了,谢谢你帮助了一个洛蒂我很高兴这很有帮助,祝你学习围棋好运,这是一个很好的小语言,我相信你会喜欢它的!如果这回答了你的问题,别忘了用大绿色复选框将其标记为答案,以帮助将来在搜索时可能遇到此问题的其他人。谢谢