Bandeira de Golang

Bandeira de Golang
Os sinalizadores da linha de comando são uma parte importante ao criar aplicativos de linha de comando. Eles nos permitem modificar o comportamento de um programa. Por exemplo, o comando LS no Unix nos permite passar sinalizadores, como -l ou -a para alterar a saída padrão.

Este artigo o guiará a criar, usar e analisar sinalizadores de linha de comando usando o pacote Flags da biblioteca padrão Go Standard.

Importações necessárias

Para usar e criar sinalizadores usando o pacote de sinalizadores, precisamos importá -los. Podemos fazer isso usando a cláusula de importação, como mostrado abaixo:

importar "sinalizadores"

Uma vez importado, podemos continuar a usá -lo.

Declaração de bandeira de Golang

O pacote Flags permite executar a declaração de bandeira para tipos de string, número inteiro e booleano. Esta funcionalidade é fornecida pela bandeira.String (), sinalizador.Int () e bandeira.Métodos bool (), respectivamente.

Vamos examinar cada método de perto para entender melhor como usá -los.

Bandeira.Corda()

O método da string no pacote de sinalização permite definir um sinalizador de string com o nome especificado. A sintaxe da função é como mostrado:

Func String (Name String, Value String, String de Uso) *String

A função leva três argumentos principais: o nome da bandeira, o valor padrão e a mensagem de uso.

A função retorna um ponteiro de endereço para a variável string que armazena o valor da bandeira.

O exemplo de código a seguir mostra como criar um sinalizador de string:

Pacote principal
importação (
"bandeira"
"FMT"
)
func main ()
str: = sinalizador.String ("Nome de usuário", "Root", "Especifique o nome de usuário de login")

No exemplo de código anterior, declaramos uma bandeira da string de tipo. Definimos o valor padrão como "" root "e uma descrição curta como o terceiro parâmetro. A função retornará o ponteiro da string.

Bandeira.Int ()

O método int () é intimamente semelhante ao método string (). No entanto, usamos esse método para declarar sinalizadores de tipo int.

Um código de exemplo é mostrado abaixo:

int_flag: = sinalizador.Int ("porta", 3006, "especifique a porta")

Aqui, declaramos uma bandeira int usando a bandeira.Método int () com um valor padrão de 3006.

Bandeira.Bool ()

Para definir uma bandeira booleana, podemos usar a bandeira.Método bool (). Um código de exemplo é fornecido abaixo:

bool_flag: = sinalizador.Bool ("Exec", True ", execute o comando?")

Golang Banding Parsing

Depois de declararmos todas as bandeiras, usamos a bandeira.Método parse (). Isso analisará as bandeiras fornecidas e permitirá que você as use:

bandeira.Parse ()

Lembre -se, as bandeiras em si são dicas e não mantêm o valor real. Para obter o valor, precisamos desreferenciar o operador de desreferência (*).

Um exemplo de código -fonte é como mostrado:

Pacote principal
importação (
"bandeira"
"FMT"
)
func main ()
str: = sinalizador.String ("Nome de usuário", "Root", "Especifique o nome de usuário de login")
int_flag: = sinalizador.Int ("porta", 3006, "especifique a porta")
bool_flag: = sinalizador.Bool ("Exec", True ", execute o comando?")
bandeira.Parse ()
fmt.Println ("str:", *str)
fmt.Println ("int_flag:", *int_flag)
fmt.Println ("bool_flag:", *bool_flag)

O código anterior deve retornar o valor padrão dos sinalizadores especificados. Um exemplo de saída é fornecido abaixo:

STR: raiz
int_flag: 3006
bool_flag: true

Golang use sinalizadores de linha de comando

Para usar os sinalizadores para o programa especificado, é recomendável compilar o programa e executar o programa usando o arquivo binário resultante.

Podemos compilar um programa GO para um arquivo binário usando o comando de construção como:

vá construir

Por exemplo, para construir o programa Flags em Go, podemos fazer:

Vá construir bandeiras.ir

Isso deve resultar em um arquivo executável, que você pode executar do terminal.

Para usar as bandeiras definidas, podemos executar o programa como:

./bandeira.exe -Username = "Developer" -port = 9000 -exec = true

O programa anterior deve retornar uma saída como mostrado:

STR: Desenvolvedor
int_flag: 9000
bool_flag: true

Para obter ajuda gerada automaticamente, podemos usar a bandeira -h. Um exemplo é como mostrado:

./bandeira.exe -h

O comando anterior deve retornar como:

-exec
Executar comando? (padrão true)
-PORT INT
Especifique a porta (padrão 3006)
-string de nome de usuário
Especifique o nome de usuário de login (padrão "root")

Se especificarmos um sinalizador que não seja definido no programa, o programa retornará uma mensagem de erro e exibe o menu de ajuda.

Exemplo:

./bandeiras.exe -User = "Usuário"

O programa deve retornar uma saída conforme fornecido abaixo:

$ ./bandeira.exe -User = Usuário
bandeira fornecida, mas não definida: -User
Uso de /bandeira.exe:
-exec
.. . truncado

Você também pode fornecer argumentos posicionais após as bandeiras. Verifique se os argumentos posicionais vêm depois de uma bandeira. Caso contrário, irá tratá -los como bandeiras.

Conclusão

Este foi um tutorial introdutório sobre o trabalho com sinalizadores de linha de comando na linguagem de programação Go. Também discutimos os diferentes métodos, como a bandeira.String (), sinalizador.Int (), bandeira.Bool (), Golang Flag Parsing, Golang Use sinalizadores de linha de comando e Golang Use sinalizadores de linha de comando. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter dicas e tutoriais.