
Sviluppo CLI
Design di CLI, package flag, cobra/viper, strutturazione di app CLI, exit code, stdin/stdout/stderr, pattern UX, testing di app CLI
1Qual è il ruolo principale del package flag in Go?
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.
2Come definire un flag string con il package flag e recuperarne il valore?
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.
3Qual è la differenza tra flag.String e flag.StringVar?
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.
Quale exit code usare quando un'applicazione CLI incontra un errore di argomenti non validi?
Qual è il principale vantaggio di Cobra rispetto al package flag standard?
+17 domande da colloquio
Altri argomenti di colloquio Go
Fondamenti di Go
Strutture dati in Go
Interfacce in Go
Gestione degli errori
Goroutine di base
Channels
Go Modules
Server HTTP
Client HTTP
Codifica JSON
Database/SQL
Pacchetto context
Testing
Pattern di concorrenza
Primitive di sincronizzazione
Framework web Go
Progettazione di API REST
gRPC
Reflection
Gestione della memoria
Ottimizzazione delle prestazioni
Generics
Go Design Patterns
Microservices
Sicurezza e autenticazione
Docker & Containerization
Kubernetes Basics
Go Avanzato
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