This is a creation in Article, where the information may have evolved or changed.
The go language array is a bit different from the C language data, and the assignment of the Go language is a value copy.
Package Mainimport "FMT" Func Main () {var ages [4]int = [4]int{1, 2, 3, 5}var B = agesb[0]++fmt. Println (Ages) fmt. Println (b)}
The result of the output is:
[1 2 3 5]
[2 2 3 5]
If you want to make the ages change, B also follows the change. You can use pointers
Package Mainimport "FMT" Func Main () { var ages [4]int = [4]int{1, 2, 3, 5} var b = &ages b[0]++ fmt. Println (Ages) FMT. Println (*B)}
Output Result:
[2 2 3 5]
[2 2 3 5]
You can also use slices, because the essence of an array slice is a pointer to an array
Package Mainimport "FMT" Func Main () { var ages []int = []int{1, 2, 3, 5} var B = ages b[0]++ fmt. Println (Ages) FMT. Println (b)}
Output Result:
[2 2 3 5]
[2 2 3 5]
Note: The assignment between slices and slices is a copy of the value