You have a golang slice of structs and you would like to change one entry in there.
type Type struct {
value int
}
func main() {
s := []Type{{0}, {0}}
// Prints [{0} {0}]
fmt.Println(s)
firstEntry := s[0]
firstEntry.value = 5
// Also prints [{0} {0}]
fmt.Println(s)
}
https://play.golang.org/p/32tpcc3-OD
Using the brackets operator and modifying its return does not change the slice itself.
What is the recommended way of doing this slice entry modification ?
Try
s[0].value = 5
This gets to the backing store of the slice. Also
p := &s[1]
p.value = 6
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With