Questo articolo ti guiderà a creare, utilizzare e analizzare flag di riga di comando utilizzando il pacchetto Flags dalla libreria standard Go.
Importazioni richieste
Per utilizzare e creare flag utilizzando il pacchetto flags, dobbiamo importarli. Possiamo farlo usando la clausola di importazione, come mostrato di seguito:
Importa "bandiere"Una volta importato, possiamo procedere a usarlo.
Dichiarazione della bandiera di Golang
Il pacchetto Flags consente di eseguire la dichiarazione di flag per stringa, intero e tipi booleani. Questa funzionalità è fornita dalla bandiera.String (), flag.Int () e bandiera.Metodi bool (), rispettivamente.
Esaminiamo da vicino ogni metodo per capire meglio come usarli.
Bandiera.Corda()
Il metodo String nel pacchetto flag consente di definire un flag stringa con il nome specificato. La sintassi della funzione è come mostrata:
func string (nome stringa, valori stringa, stringa di utilizzo) *stringaLa funzione prende tre argomenti principali: il nome del flag, il valore predefinito e il messaggio di utilizzo.
La funzione restituisce quindi un puntatore dell'indirizzo alla variabile stringa che memorizza il valore del flag.
L'esempio del codice seguente mostra come creare un flag di stringa:
Pacchetto principaleNell'esempio del codice precedente, dichiariamo un flag di stringa di tipo. Imposta il valore predefinito come "root" e una breve descrizione come terzo parametro. La funzione restituirà il puntatore della stringa.
Bandiera.Int ()
Il metodo int () è strettamente simile al metodo String (). Tuttavia, abbiamo usato questo metodo per dichiarare flag di tipo int.
Un codice di esempio è mostrato di seguito:
int_flag: = flag.Int ("port", 3006, "specifica la porta")Qui, dichiariamo un flag int usando il flag.Metodo int () con un valore predefinito di 3006.
Bandiera.Bool ()
Per definire una bandiera booleana, possiamo usare la bandiera.Metodo bool (). Di seguito è riportato un codice di esempio:
bool_flag: = flag.Bool ("Exec", True ", esegui il comando?")Analisi della bandiera di Golang
Una volta dichiarati tutte le bandiere, usiamo la bandiera.Metodo Parse (). Questo analizzerà le flag fornite e ti permetterà di usarle:
bandiera.Parse ()Ricorda, le bandiere stesse sono puntatori e non mantengono il valore effettivo. Per ottenere il valore, dobbiamo fare la prova con l'operatore dereferencing (*).
Un esempio di codice sorgente è come mostrato:
Pacchetto principaleIl codice precedente dovrebbe restituire il valore predefinito dei flag specificati. Di seguito è riportato un esempio di output:
STR: radiceGolang usa flag di comando-riga
Per utilizzare i flag per il programma specificato, si consiglia di compilare il programma ed eseguire il programma utilizzando il file binario risultante.
Possiamo compilare un programma GO su un file binario usando il comando build come:
vai a buildAd esempio, per costruire il programma di bandiere in Go, possiamo fare:
vai a build bandiere.andareCiò dovrebbe provocare un file eseguibile, che è possibile eseguire dal terminale.
Per utilizzare i flag definiti, possiamo eseguire il programma come:
./bandiera.exe -username = "sviluppatore" -port = 9000 -exec = trueIl programma precedente dovrebbe restituire un output come mostrato:
STR: sviluppatorePer ottenere l'aiuto generato automaticamente, possiamo usare il flag -h. Un esempio è come mostrato:
./bandiera.exe -hIl comando precedente dovrebbe restituire come:
-ExecSe specifichiamo un flag che non è definito nel programma, il programma restituisce un messaggio di errore e visualizza il menu di aiuto.
Esempio:
./bandiere.exe -user = "utente"Il programma dovrebbe restituire un output come previsto di seguito:
$ ./bandiera.exe -user = utentePuoi anche fornire argomenti posizionali dopo le bandiere. Assicurarsi che gli argomenti posizionali vengano dopo una bandiera. Altrimenti, vai, li tratterà come bandiere.
Conclusione
Questo è stato un tutorial introduttivo sul lavoro con le flag della riga di comando nel linguaggio di programmazione Go. Abbiamo anche discusso dei diversi metodi, come la bandiera.String (), flag.Int (), bandiera.Bool (), analisi della flag Golang, golang usa flag di comando e golang usano flag di riga di comando. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per suggerimenti e tutorial.