Junior — Middle
Hoe onderscheid je de manieren om een slice te maken in Go met var, make en toewijzing per index of via append?
sobes.tech AI
Antwoord van AI
In Go kunnen slices op verschillende manieren worden gemaakt, die verschillen in initialisatie en geheugenallocatie:
- Declaratie met
var— maakt een nil-slice, die niet naar een array wijst en een lengte en capaciteit van 0 heeft.
var s []int // nil-slice
- Maken van een slice via
make— wijst een array toe met de gespecificeerde lengte en capaciteit, en geeft een slice terug die naar deze array wijst.
s := make([]int, 5) // slice van lengte 5, gevuld met nullen
-
Indextoewijzing — alleen mogelijk als de slice al geïnitialiseerd is en een voldoende lengte heeft.
-
Elementen toevoegen via
append— voegt elementen toe aan de slice, en vergroot indien nodig de capaciteit en wijst een nieuwe array toe.
s = append(s, 10) // voegt element 10 toe aan de slice
Zo creëert var een lege nil-slice, make een slice met toegewezen geheugen, indextoewijzing vereist een bestaande lengte, en append breidt de slice dynamisch uit.