El lenguaje Go proporciona soporte incorporado para el análisis de línea de comandos y tiene funciones que podrían usarse para definir indicadores que se usarán con un programa de línea de comandos que use el flag
paquete. Este paquete proporciona la función flag.Bool() que se usa para definir una bandera booleana con el nombre especificado, el valor predeterminado y la string de uso.
Sintaxis:
func Bool(name string, value bool, usage string) *bool
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- nombre: Es una string que especifica el nombre que se utilizará para la bandera.
- valor: es un valor booleano que especifica el valor predeterminado que utilizará la bandera.
- uso: Es una string que especifica el uso o mensaje de ayuda que se mostrará para la bandera.
Valor devuelto: Devuelve una dirección de la variable booleana que almacena el valor de la bandera definida.
Los siguientes programas ilustran la función flag.Bool() :
Ejemplo 1:
// Golang program to illustrate // the flag.Bool() Function package main import ( "flag" "fmt" ) func main() { // Define a bool flag boolArgPtr := flag.Bool("arg1", false, "This is a bool argument") // Parse command line // into the defined flags flag.Parse() fmt.Println("Bool Arg:", *boolArgPtr) }
Producción:
- Especificar el valor de la bandera
$go run ex1.go -arg1=true Bool Arg: true
- No especificar el valor de la bandera (valor predeterminado)
$go run ex1.go Bool Arg: false
Ejemplo 2:
// Golang program to illustrate // the flag.Bool() Function package main import ( "flag" "fmt" ) func main() { // Define multiple bool arguments plainArgPtr := flag.Bool("plaintext", false, "Enable plaintext") jsonArgPtr := flag.Bool("json", false, "Enable JSON") csvArgPtr := flag.Bool("csv", false, "Enable CSV") // Parse command line into the defined flags flag.Parse() fmt.Println("Enable plaintext:", *plainArgPtr) fmt.Println("Enable JSON:", *jsonArgPtr) fmt.Println("Enable CSV:", *csvArgPtr) }
Producción
- Especificando algunos valores de bandera
$go run ex2.go -plaintext=true -csv=true Enable plaintext: true Enable JSON: false Enable CSV: true
- No especificar ningún valor de indicador (valores predeterminados)
$go run ex2.go Enable plaintext: false Enable JSON: false Enable CSV: false
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA