Sobes.tech
Junior — Middle

Hoe wordt het geheugen gereserveerd voor een slice in de programmeertaal?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go is een slice een structuur die een pointer bevat naar een array, een lengte en een capaciteit. Wanneer een slice wordt gemaakt, wordt geheugen voor de elementen gereserveerd in de array waarnaar het wijst.

Wanneer een slice wordt gemaakt met de functie make, bijvoorbeeld make([]int, length, capacity), wordt een array met de opgegeven capaciteit toegewezen. Als bij het toevoegen van elementen de capaciteit wordt overschreden, wijst Go automatisch een nieuwe, grotere array toe, kopieert de gegevens en werkt de pointer van de slice bij.

Voorbeeld:

s := make([]int, 0, 5) // slice met lengte 0 en capaciteit 5
s = append(s, 1, 2, 3) // elementen toevoegen

Op deze manier wordt het geheugen vooraf gereserveerd voor de opgegeven capaciteit, wat de efficiëntie bij het toevoegen van elementen verhoogt.