Go

Sviluppo CLI

Design di CLI, package flag, cobra/viper, strutturazione di app CLI, exit code, stdin/stdout/stderr, pattern UX, testing di app CLI

20 domande da colloquio·
Senior
1

Qual è il ruolo principale del package flag in Go?

Risposta

Il package flag fornisce un'API semplice per il parsing degli argomenti da riga di comando. Permette di definire flag con tipi predefiniti (string, int, bool, ecc.) e gestisce automaticamente il parsing e la validazione. Questo package fa parte della libreria standard ed è adatto a CLI semplici.

2

Come definire un flag string con il package flag e recuperarne il valore?

Risposta

La funzione flag.String restituisce un puntatore al valore del flag. Dopo aver chiamato flag.Parse(), si può accedere al valore dereferenziando il puntatore. È anche possibile usare flag.StringVar per collegarsi direttamente a una variabile esistente.

3

Qual è la differenza tra flag.String e flag.StringVar?

Risposta

flag.String alloca una nuova variabile e ne restituisce un puntatore, mentre flag.StringVar collega il flag a una variabile esistente passata per indirizzo. StringVar è utile quando la variabile deve essere definita a livello di package o quando si vuole evitare la dereferenziazione.

4

Quale exit code usare quando un'applicazione CLI incontra un errore di argomenti non validi?

5

Qual è il principale vantaggio di Cobra rispetto al package flag standard?

+17 domande da colloquio

Padroneggia Go per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis