Go

CLI-ontwikkeling

CLI-ontwerp, flag-package, cobra/viper, structureren van CLI-apps, exit codes, stdin/stdout/stderr, UX-patronen, testen van CLI-apps

20 gespreksvragen·
Senior
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.

4

Welke exit code moet worden gebruikt wanneer een CLI-applicatie een fout door ongeldige argumenten tegenkomt?

5

Wat is het belangrijkste voordeel van Cobra ten opzichte van het standaard flag-package?

+17 gespreksvragen

Beheers Go voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis