Arrays are values, not references. Assignment copies the entire array:
a := [3]int{1, 2, 3}
b := a
b[0] = 100
fmt.Println(a[0]) // 1 (unchanged)
Changing b doesn't affect a. This is different from slices and maps, which are references. Be aware of this when passing arrays to functions.