🥇 Programas de la línea de comandos, Uso de parametros

Si bien es posible utilizar el paquete os para procesar argumentos enviados a la línea de comandos, Golang provee una forma mas sencilla de manejar dichos argumentos utilizando el paquete flag.

Algunas de las ventajas son:

package main

import (
    "flag"
    "fmt"
)

func main() {
    nombre := flag.String("nombre", "", "El nombre de la persona")
    edad := flag.Int("edad", 18, "La edad de la persona")
    flag.Parse()
    fmt.Println("Tu nombre es:", *nombre)
    fmt.Println("Tu edad es:", *edad)
}

En el ejemplo.

Para ejecutar el programa.

$ go run main.go -nombre "John Doe" -edad 22

En la salida obtenemos.

Tu nombre es: John Doe
Tu edad es: 22

Si deseamos ver la documentación generada para el programa.

$ go run main.go -h

La salida obtenido.

  -edad int
        La edad de la persona (default 18)
  -nombre string
        El nombre de la persona
exit status 2

Si se especifica un tipo de argumento de un tipo distinto al declarado, se generará un error.

$ go run main.go -nombre "John Doe" -edad "Mexicano"
invalid value "Mexicano" for flag -edad: parse error
Programas de la línea de comandos, Envio de argumentos. Programas de la línea de comandos, Subcomandos.
comments powered by Disqus