# CLI-ontwikkeling (Go) > CLI-ontwerp, flag-package, cobra/viper, structureren van CLI-apps, exit codes, stdin/stdout/stderr, UX-patronen, testen van CLI-apps - 20 gespreksvragen - Senior - [Gespreksvragen: Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen.md) ## 1. 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. ## 2. 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. ## 3. 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. ## Nog 17 vragen beschikbaar - 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? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Go-sollicitatieonderwerpen - [Go-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-basics.md): 25 vragen, Junior - [Go-datastructuren](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-data-structures.md): 20 vragen, Junior - [Go-interfaces](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-interfaces.md): 18 vragen, Junior - [Foutafhandeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/error-handling.md): 20 vragen, Junior - [Goroutines-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/goroutines-basics.md): 20 vragen, Junior - [Channels](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/channels.md): 22 vragen, Junior - [Go Modules](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-modules.md): 18 vragen, Mid-Level - [HTTP-server](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-server.md): 24 vragen, Mid-Level - [HTTP-client](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-client.md): 18 vragen, Mid-Level - [JSON-codering](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/json-encoding.md): 20 vragen, Mid-Level - [Database/SQL](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/database-sql.md): 22 vragen, Mid-Level - [context-pakket](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/context-package.md): 20 vragen, Mid-Level - [Testing](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/testing.md): 22 vragen, Mid-Level - [Concurrency-patronen](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/concurrency-patterns.md): 24 vragen, Mid-Level - [Synchronisatieprimitieven](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/sync-primitives.md): 22 vragen, Mid-Level - [Go-webframeworks](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-web-frameworks.md): 20 vragen, Mid-Level - [REST API-ontwerp](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/rest-api-design.md): 20 vragen, Mid-Level - [gRPC](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/grpc.md): 22 vragen, Mid-Level - [Reflection](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/reflection.md): 20 vragen, Senior - [Geheugenbeheer](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/memory-management.md): 24 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Generics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/generics.md): 20 vragen, Senior - [Go Design Patterns](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/design-patterns.md): 24 vragen, Senior - [Microservices](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/microservices.md): 24 vragen, Senior - [Beveiliging en authenticatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/security-authentication.md): 24 vragen, Senior - [Docker & Containerization](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/docker-containerization.md): 20 vragen, Senior - [Kubernetes Basics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/kubernetes-basics.md): 22 vragen, Senior - [Geavanceerd Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/advanced-go.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/go/sollicitatievragen/cli-development