función flag.Bool() en Golang con ejemplos

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *