Bandera de Golang

Bandera de Golang
Los indicadores de línea de comandos son una parte importante al construir aplicaciones de línea de comandos. Nos permiten modificar el comportamiento de un programa. Por ejemplo, el comando LS en UNIX nos permite pasar banderas, como -l o -a para cambiar la salida predeterminada.

Este artículo lo guiará para crear, usar y analizar banderas de línea de comandos utilizando el paquete de banderas desde la biblioteca estándar de GO.

Importaciones requeridas

Para usar y crear banderas usando el paquete de banderas, necesitamos importarlas. Podemos hacer esto usando la cláusula de importación, como se muestra a continuación:

importar "banderas"

Una vez importado, podemos proceder a usarlo.

Declaración de la bandera de Golang

El paquete de banderas permite realizar la declaración de bandera para tipos de cadena, entero y booleano. Esta funcionalidad es proporcionada por la bandera.String (), bandera.Int () y bandera.Métodos bool (), respectivamente.

Examinemos cada método de cerca para comprender mejor cómo usarlos.

Bandera.Cadena()

El método de cadena en el paquete de indicador le permite definir un indicador de cadena con el nombre especificado. La sintaxis de la función es como se muestra:

FUNC String (Nombre String, Value String, String de uso) *String

La función toma tres argumentos principales: el nombre del indicador, el valor predeterminado y el mensaje de uso.

La función luego devuelve un puntero de dirección a la variable de cadena que almacena el valor del indicador.

El siguiente ejemplo de código muestra cómo crear un indicador de cadena:

paquete principal
importar (
"bandera"
"FMT"
)
func Main ()
str: = bandera.String ("Nombre de usuario", "root", "especificar el nombre de usuario de inicio de sesión")

En el ejemplo del código anterior, declaramos un indicador de cadena de tipo. Establecemos el valor predeterminado como "" root "" y una descripción breve como el tercer parámetro. La función devolverá el puntero de cadena.

Bandera.En t()

El método int () es muy similar al método String (). Sin embargo, utilizamos este método para declarar banderas de tipo int ty.

A continuación se muestra un código de ejemplo:

int_flag: = bandera.Int ("puerto", 3006, "especificar el puerto")

Aquí, declaramos una bandera int usando la bandera.Método int () con un valor predeterminado de 3006.

Bandera.Bool ()

Para definir una bandera booleana, podemos usar la bandera.Método bool (). A continuación se proporciona un código de ejemplo:

bool_flag: = bandera.Bool ("exec", true ", ejecutar comando?")

Análisis de la bandera de Golang

Una vez que tenemos todas las banderas declaradas, usamos la bandera.Método parse (). Esto analizará las banderas proporcionadas y le permitirá usarlas:

bandera.Analizar gramaticalmente()

Recuerde, las banderas en sí son consejos y no poseen el valor real. Para obtener el valor, necesitamos desreferencia con el operador Derferencing (*).

Un ejemplo de código fuente es como se muestra:

paquete principal
importar (
"bandera"
"FMT"
)
func Main ()
str: = bandera.String ("Nombre de usuario", "root", "especificar el nombre de usuario de inicio de sesión")
int_flag: = bandera.Int ("puerto", 3006, "especificar el puerto")
bool_flag: = bandera.Bool ("exec", true ", ejecutar comando?")
bandera.Analizar gramaticalmente()
fmt.Println ("str:", *str)
fmt.Println ("int_flag:", *int_flag)
fmt.Println ("bool_flag:", *bool_flag)

El código anterior debe devolver el valor predeterminado de los indicadores especificados. Se proporciona una salida de ejemplo a continuación:

STR: raíz
int_flag: 3006
bool_flag: verdadero

Golang usa banderas de línea de comandos

Para usar los indicadores para el programa especificado, se recomienda compilar el programa y ejecutar el programa utilizando el archivo binario resultante.

Podemos compilar un programa GO a un archivo binario utilizando el comando de compilación como:

ir a construir

Por ejemplo, para construir el programa FLAGS en GO, podemos hacer:

ir a construir banderas.ir

Esto debería dar lugar a un archivo ejecutable, que puede ejecutar desde el terminal.

Para usar las banderas definidas, podemos ejecutar el programa como:

./bandera.exe -username = "desarrollador" -port = 9000 -exec = true

El programa anterior debe devolver una salida como se muestra:

STR: desarrollador
int_flag: 9000
bool_flag: verdadero

Para generar ayuda automáticamente, podemos usar el indicador -h. Un ejemplo es como se muestra:

./bandera.exe -h

El comando anterior debe volver como:

-ejecución
Ejecutar comando? (Verdadero predeterminado)
-puerto int
Especifique el puerto (predeterminado 3006)
-cadena de nombre de usuario
Especifique el nombre de usuario de inicio de sesión (predeterminado "root")

Si especificamos un indicador que no está definido en el programa, el programa devuelve un mensaje de error y muestra el menú de ayuda.

Ejemplo:

./banderas.exe -user = "usuario"

El programa debe devolver una salida como se proporciona a continuación:

ps ./bandera.exe -user = usuario
Bandera proporcionada pero no definida: -User
Uso de /bandera.exe:
-ejecución
… . truncado

También puede proporcionar argumentos posicionales después de las banderas. Asegúrese de que los argumentos posicionales vengan después de una bandera. De lo contrario, ir los tratará como banderas.

Conclusión

Este fue un tutorial introductorio sobre trabajar con banderas de línea de comandos en el lenguaje de programación GO. También discutimos los diferentes métodos, como la bandera.String (), bandera.Int (), bandera.Bool (), análisis de bandera de Golang, Golang usa banderas de línea de comandos y Golang usa banderas de línea de comandos. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de tinción de Linux para consejos y tutoriales.