Values & References11 / 15
Up next

Arrays copy on pass

package main

import "fmt"

// an array argument is a full copy
func zeroFirst(a [3]int) {
	a[0] = 0
}

func main() {
	a := [3]int{1, 2, 3}
	zeroFirst(a)
	fmt.Println(a) // [1 2 3], unchanged
}
What you're solving

unlike slices, arrays are values