Junior — Middle
What unique characteristics do slices in Go have?
sobes.tech AI
Answer from AI
Slices in Go are dynamic, mutable views into the elements of an array. Unique characteristics of slices:
- Dynamic size: unlike arrays, slices can change their length during runtime.
- Reference to array: a slice contains a pointer to the underlying array, along with its length and capacity.
- Capacity and length: length is the number of elements in the slice, capacity is the maximum number of elements the slice can hold without allocating new memory.
- Copying slices: copying a slice copies the structure, but not the data, meaning both slices refer to the same array.
Example of creating a slice:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice with elements 2, 3, 4