Junior — Middle
Wat betekent de eigenschap capacity van een slice in Go, als deze niet expliciet wordt opgegeven bij het maken ervan?
sobes.tech AI
Antwoord van AI
In Go is een slice een structuur die een pointer naar een array bevat, samen met een lengte (len) en een capaciteit (capacity).
Als bij het maken van een slice de capaciteit niet expliciet wordt aangegeven, wordt deze ingesteld op dezelfde waarde als de lengte van de slice. De capaciteit geeft aan hoeveel elementen de slice kan bevatten zonder dat er nieuw geheugen wordt toegewezen.
Bijvoorbeeld:
s := make([]int, 3) // len=3, cap=3
Hier is de capaciteit gelijk aan 3, omdat deze niet apart is aangegeven.
Als de capaciteit groter is dan de lengte, kan de slice worden uitgebreid tot de capaciteit zonder dat er een nieuwe array wordt toegewezen.