Sobes.tech
Junior — Middle

Kun je uitleggen wat een slice is in programmeren en hoe het werkt?

sobes.tech AI

Antwoord van AI

Een slice in Go is een dynamisch, wijzigbaar fragment van een array. Het is een structuur die bevat:

  • een pointer naar het eerste element van de array,
  • de lengte (aantal elementen in de slice),
  • de capaciteit (het maximale aantal elementen dat de slice kan bevatten zonder herallocatie).

Slices maken het mogelijk om met sequenties van elementen te werken zonder gegevens te kopiëren.

Voorbeeld van het maken en gebruiken van een slice:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice van elementen met indices 1,2,3
fmt.Println(slice) // [2 3 4]

slice = append(slice, 6) // voegt een element toe, indien nodig wordt nieuwe geheugen toegewezen
fmt.Println(slice) // [2 3 4 6]

Slices zijn handig omdat je nieuwe slices kunt maken uit bestaande, hun grootte kunt aanpassen en ze kunt doorgeven aan functies zonder de hele array te kopiëren.