OS Args Golang

OS Args Golang
Se hai mai usato un'utilità della linea di comando, sai che c'è una cosa che tutti hanno in comune. Accettano tutti argomenti della riga di comando.

Gli argomenti sono uno dei modi migliori per creare parametri per i programmi durante l'esecuzione. Ad esempio, quando si esegue il comando GO run, si specifica anche il nome del file che si desidera compilare. Qui, l'esecuzione e il nome del file sono argomenti della riga di comando che dicono al compilatore Go cosa fare.

Questa guida ti guiderà attraverso la creazione di argomenti per i tuoi programmi Go.

Pacchetto OS Golang

Per utilizzare gli argomenti della riga di comando nel nostro programma, dobbiamo importare il pacchetto del sistema operativo. Questo pacchetto contiene sistema operativo.Variabile Args che contiene argomenti della linea di comando

Questa variabile è una serie di stringhe e tiene traccia degli argomenti passati al programma. Tieni presente che il primo argomento è in realtà il nome del programma.

Per esempio:

Pacchetto principale
importazione (
"FMT"
"OS"
)
funcmain ()
pg_name: = OS.Args [0]
fmt.Println (pg_name)

Nell'esempio sopra, usiamo il sistema operativo.Array Args per recuperare il primo argomento (indice 0). Poiché il primo argomento è il nome del programma basato sul compilatore GO, l'output risultante è il percorso completo dell'eseguibile del programma.

$ go run os_args.andare
C: \ Users \ CSalem \ AppData \ local \ temp \ go-build3770603401 \ b001 \ exe \ os_args.exe
Golang ottiene il numero di argomenti

Golang ottiene il numero di argomenti

Possiamo far passare il numero di argomenti a un programma usando la funzione Len (). Dal sistema operativo.Args è semplicemente un array, la funzione Len restituirà il numero di elementi nell'array.

Un programma di esempio è come mostrato di seguito:

packagemain
importazione (
"FMT"
"OS"
)
funcmain ()
Arg_len: = Len (OS.Args [1:])
fmt.Println ("lunghezza dell'argomento:", arg_len)

Se eseguiamo il codice sopra con una serie di argomenti della riga di comando:

$ go run os_args.Vai prima, secondo, terzo

Dovremmo far passare il numero totale di argomenti al programma

Lunghezza dell'argomento: 3

Nota: poiché sappiamo che il primo argomento è il nome del programma, utilizziamo la taglio dell'array per rimuovere il primo elemento e prendere tutti gli altri argomenti dopo l'indice 0.

Golang Flag di comando

Possiamo definire le nostre flag personalizzate usando il pacchetto flags. Un esempio di flag di comando sarebbe -h, -l o altro.

Ad esempio, l'utilità CMD MySQL consente di specificare il nome utente e la password utilizzando il comando:

mysql -u root -p

Implementamo un semplice programma che funzioni come prompt di accesso.

Pacchetto principale
importazione (
"bandiera"
"FMT"
)
funcmain ()
VAR Nome utente String
VAR PASSWORD STRING
bandiera.Stringvar (& nome utente, "u", "root", "nome utente predefinito: root")
bandiera.Stringvar (& password, "P", "Mysql", "Password predefinita: mysql")
Se username == "root" && password == "mysql"
fmt.Println ("mysql>")
altro
fmt.Println ("un errore secourd.")

Il programma semplice di cui sopra utilizza il flag -u e -p per verificare se il nome utente e la password forniti. Se corretto, visualizziamo un prompt "mysql" e altrimenti, restituiamo un messaggio.

Una volta che costruiamo il programma:

vai a build cmd_flag.andare

Possiamo correre con gli argomenti come

./cmd_flags.exe -u root -p mysql

Questo dovrebbe restituire il messaggio nel blocco if come mostrato:

$ ./bandiere.exe -u root -p mysql
Mysql

Altrimenti, il comando dovrebbe restituire il messaggio nel blocco altro.

Conclusione

In questo articolo, abbiamo trattato le basi del lavoro degli argomenti della linea di comando usando il pacchetto del sistema operativo. Abbiamo anche trattato come utilizzare i flag della riga di comando dal pacchetto flags.

Grazie per aver letto!!