所以,我正试着习惯去!我遇到了一个问题,我尝试制作一个包含切片的新数据类型“RandomType”。
package main
type RandomType struct {
RandomSlice []int
}
func main() {
r := new(RandomType)
r.RandomSlice = make([]int, 0)
append(r.RandomSlice, 5)
}
这段代码会产生错误:
append(r.RandomSlice, 5) not used
但是,例如,如果我尝试
type RandomType struct {
RandomInt int
}
func main() {
r := new(RandomType)
r.RandomInt = 5
}
这很好。
不确定我做错了什么。
答案 0 :(得分:10)
append
不会更改您提供的切片,但会构建一个新切片。
您必须使用返回的切片:
r.RandomSlice = append(r.RandomSlice, 5)
有关追加in Effective Go和in the Go blog的详细信息。