Sobes.tech
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:

  1. 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
  1. 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
  1. Indextoewijzing — alleen mogelijk als de slice al geïnitialiseerd is en een voldoende lengte heeft.

  2. 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.