When you pass an array to a function, it receives a copy:
func modify(arr [3]int) {
arr[0] = 100 // Modifies copy
}
nums := [3]int{1, 2, 3}
modify(nums)
fmt.Println(nums[0]) // 1 (unchanged)
To modify the original, pass a pointer or use slices instead.