【发布时间】:2019-11-09 16:50:45
【问题描述】:
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,
},
}
}
【问题讨论】:
-
您好,欢迎并感谢您的提问!您能否用您迄今为止尝试过的内容更新您的示例,以便我们了解您正在尝试做什么?
-
我试过这种方式 @SamWhited ` func addStock(){ var new Car var totalArr int totalArr = len(Stock) fmt.Scanln(&new.Code,&new.Brand,&new.Type ,&new.Price,&new.Supply) append(Stock[totalArr].Code,new.Code) }` 但我得到一个错误,比如第一个参数 append must be slice;有字符串
-
我添加了一个示例来解释这一点; append 的第一个参数确实是切片本身。但是,看起来您可能正在尝试修改切片中的某些内容,而不是实际添加新车?这在您最初的问题中并不清楚。这是你想要做的,还是你想在切片上添加一辆新车?
-
您不能向数组中添加任何内容。数组是固定长度的。您只能更改数组元素。要添加到切片,请使用
append。