Bandiera di golang

Bandiera di golang
I flag-line-line sono una parte importante quando si costruiscono applicazioni di riga di comando. Ci consentono di modificare il comportamento di un programma. Ad esempio, il comando LS in Unix ci consente di passare flag, come -l o -a per modificare l'output predefinito.

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) *stringa

La 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 principale
importazione (
"bandiera"
"FMT"
)
func main ()
str: = flag.String ("Nome utente", "root", "Specifica il nome utente di accesso")

Nell'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 principale
importazione (
"bandiera"
"FMT"
)
func main ()
str: = flag.String ("Nome utente", "root", "Specifica il nome utente di accesso")
int_flag: = flag.Int ("port", 3006, "specifica la porta")
bool_flag: = flag.Bool ("Exec", True ", esegui il comando?")
bandiera.Parse ()
fmt.Println ("str:", *str)
fmt.Println ("int_flag:", *int_flag)
fmt.Println ("bool_flag:", *bool_flag)

Il codice precedente dovrebbe restituire il valore predefinito dei flag specificati. Di seguito è riportato un esempio di output:

STR: radice
int_flag: 3006
bool_flag: vero

Golang 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 build

Ad esempio, per costruire il programma di bandiere in Go, possiamo fare:

vai a build bandiere.andare

Ciò 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 = true

Il programma precedente dovrebbe restituire un output come mostrato:

STR: sviluppatore
int_flag: 9000
bool_flag: vero

Per ottenere l'aiuto generato automaticamente, possiamo usare il flag -h. Un esempio è come mostrato:

./bandiera.exe -h

Il comando precedente dovrebbe restituire come:

-Exec
Eseguire il comando? (predefinito vero)
-Port Int
Specificare la porta (impostazione predefinita 3006)
-Nome utente stringa
Specifica il nome utente di accesso ("root" predefinito)

Se 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 = utente
bandiera fornita ma non definita: -user
Utilizzo di /bandiera.exe:
-Exec
.. . troncato

Puoi 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.