
Go-datastructuren
Arrays, slices, maps, structs, pointers, make vs new, nil-waarden
1Wat is een slice in Go?
Wat is een slice in Go?
Antwoord
Een slice is een dynamische weergave van een onderliggende array waarmee je sequenties van elementen met variabele lengte kunt manipuleren. Anders dan arrays, die een vaste grootte hebben die op compileertijd wordt bepaald, kunnen slices dynamisch groeien of krimpen via bewerkingen zoals append. Deze flexibiliteit maakt ze de meest gebruikte sequentiële datastructuur in Go om collecties van homogene elementen op te slaan.
2Wat is het belangrijkste verschil tussen een array en een slice in Go?
Wat is het belangrijkste verschil tussen een array en een slice in Go?
Antwoord
Het fundamentele verschil zit in de grootte: een array heeft een vaste grootte die op compileertijd wordt bepaald en maakt deel uit van het type zelf, terwijl een slice een dynamische grootte heeft die tijdens runtime kan veranderen. Dit onderscheid betekent dat twee arrays van verschillende groottes als incompatibele typen worden beschouwd, terwijl alle slices van hetzelfde elementtype compatibel zijn. Slices zijn daarom flexibeler en worden vaker gebruikt in moderne Go-code.
3Hoe maak je een lege slice in Go?
Hoe maak je een lege slice in Go?
Antwoord
De literal-syntaxis met lege vierkante haken gevolgd door lege accolades is de idiomatische manier om een geïnitialiseerde lege slice te maken. Deze aanpak creëert een slice met lengte 0 maar niet-nil, klaar om elementen via append te ontvangen. Anders dan een eenvoudige declaratie die een nil-slice zou opleveren, garandeert deze expliciete initialisatie een direct bruikbare slice zonder risico op onverwacht gedrag bij het toevoegen van elementen.
Welke functie moet je gebruiken om een slice met een specifieke capaciteit te initialiseren?
Wat gebeurt er als je een element toevoegt aan een slice waarvan de capaciteit is bereikt?
+17 gespreksvragen
Andere Go-sollicitatieonderwerpen
Go-basis
Go-interfaces
Foutafhandeling
Goroutines-basis
Channels
Go Modules
HTTP-server
HTTP-client
JSON-codering
Database/SQL
context-pakket
Testing
Concurrency-patronen
Synchronisatieprimitieven
Go-webframeworks
REST API-ontwerp
gRPC
Reflection
Geheugenbeheer
Prestatie-optimalisatie
Generics
Go Design Patterns
Microservices
Beveiliging en authenticatie
Docker & Containerization
Kubernetes Basics
Geavanceerd Go
CLI-ontwikkeling
Beheers Go voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis