Reputation: 5588
So, I'm trying to get used to Go! and I've come up to a problem where I try making a new data type "RandomType" which contains a slice.
package main
type RandomType struct {
RandomSlice []int
}
func main() {
r := new(RandomType)
r.RandomSlice = make([]int, 0)
append(r.RandomSlice, 5)
}
This bit of code yields an error:
append(r.RandomSlice, 5) not used
However for instance if I try with
type RandomType struct {
RandomInt int
}
func main() {
r := new(RandomType)
r.RandomInt = 5
}
this works fine.
Not sure what I'm doing wrong.
Upvotes: 2
Views: 250
Reputation: 382454
append
doesn't change the slice you provide but builds a new one.
You must use the returned slice :
r.RandomSlice = append(r.RandomSlice, 5)
More details about append in Effective Go and in the Go blog.
Upvotes: 10