Connection Between Slices and Arrays
Let’s learn how slices are connected to arrays.
We'll cover the following
How slices are connected to arrays
As mentioned before, behind the scenes, each slice is implemented using an underlying array. The length of the underlying array is the same as the capacity of the slice, and there exist pointers that connect the slice elements to the appropriate array elements.
We can understand that by connecting an existing array with a slice, Go allows us to reference an array or a part of an array using a slice. This has some strange capabilities, including the fact that the changes to the slice affect the referenced array! However, when the capacity of the slice changes, the connection to the array ceases to exist! This happens because when the capacity of a slice changes, so does the underlying array, and the connection between the slice and the original array does not exist anymore.
Coding example
We will now look at the code of sliceArrays.go
to understand how slices are connected to arrays.
Get hands-on with 1400+ tech skills courses.