
CLI-ontwikkeling
CLI-ontwerp, flag-package, cobra/viper, structureren van CLI-apps, exit codes, stdin/stdout/stderr, UX-patronen, testen van CLI-apps
1Wat is de hoofdrol van het flag-package in Go?
Wat is de hoofdrol van het flag-package in Go?
Antwoord
Het flag-package biedt een eenvoudige API voor het parsen van command-line argumenten. Het maakt het mogelijk flags te definiëren met vooraf gedefinieerde types (string, int, bool, enz.) en handelt parsing en validatie automatisch af. Dit package maakt deel uit van de standaardbibliotheek en is geschikt voor eenvoudige CLI's.
2Hoe definieer je een string-flag met het flag-package en haal je de waarde op?
Hoe definieer je een string-flag met het flag-package en haal je de waarde op?
Antwoord
De functie flag.String retourneert een pointer naar de flag-waarde. Na het aanroepen van flag.Parse() kan de waarde worden benaderd door de pointer te dereferencen. Het is ook mogelijk om flag.StringVar te gebruiken om direct aan een bestaande variabele te binden.
3Wat is het verschil tussen flag.String en flag.StringVar?
Wat is het verschil tussen flag.String en flag.StringVar?
Antwoord
flag.String alloceert een nieuwe variabele en retourneert er een pointer naar, terwijl flag.StringVar de flag bindt aan een bestaande variabele die per adres wordt doorgegeven. StringVar is handig wanneer de variabele op packageniveau gedefinieerd moet worden of wanneer je dereferencen wilt vermijden.
Welke exit code moet worden gebruikt wanneer een CLI-applicatie een fout door ongeldige argumenten tegenkomt?
Wat is het belangrijkste voordeel van Cobra ten opzichte van het standaard flag-package?
+17 gespreksvragen
Andere Go-sollicitatieonderwerpen
Go-basis
Go-datastructuren
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
Beheers Go voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis