Junior — Middle
Kunt u het principe van werking van slices in de programmeertaal uitleggen?
sobes.tech AI
Antwoord van AI
Een slice in Go is een dynamisch, wijzigbaar overzicht van een reeks elementen van hetzelfde type. Het bevat:
- een pointer naar een array,
- de lengte (aantal elementen in de slice),
- de capaciteit (het maximale aantal elementen dat kan worden opgeslagen zonder nieuwe geheugenallocatie).
Slices maken het mogelijk om te werken met delen van arrays of nieuwe dynamische reeksen te maken zonder gegevens te kopiëren.
Voorbeeld:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // slice van elementen met indices 1,2,3: [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // voegt een element toe, indien de capaciteit het toelaat, wordt de slice uitgebreid
Slices zijn handig omdat ze efficiënt werken met gegevens, zonder arrays te kopiëren, en de grootte van de reeks dynamisch kunnen aanpassen.