En este post te mostraré a leer banderas, flags o argumentos de la línea de comandos usando el lenguaje de programación Go también conocido como Golang.
Cuando usamos programas podemos pasarles ciertas opciones, banderas o argumentos para su funcionamiento. Por ejemplo:
enviar_correo --destinatario=ejemplo@ejemplo.com --asunto=Hola
Te enseñaré a hacer eso pero con Go usando flag
.
Para leer opciones que se pueden pasar al programa podemos usar a flag. En este caso voy a usar flag.String
que leerá un argumento como cadena, aunque también existe flag.Bool
, flag.Int
, etcétera.
Esta función devolverá un apuntador a cadena y después podemos hacer la conversión. Los argumentos al llamarla son, en orden: nombre de la bandera, valor por defecto y descripción.
Aquí un ejemplo simple que lee el puerto en donde el servidor escuchará:
package main
import (
"flag"
"fmt"
)
const PuertoPorDefecto = ":8000"
func main() {
puerto := flag.String("puerto", PuertoPorDefecto, "Puerto de escucha del servidor")
flag.Parse()
// Convertir el apuntador a string
puertoCadena := *puerto
// Imprimirlo
fmt.Println("El puerto es ")
fmt.Println(puertoCadena)
// Esperar que el usuario presione Enter
fmt.Scanln()
}
Nota: una vez que hayas definido tus banderas, invoca a flag.Parse
.
Así que el modo de invocar a este programa una vez compilado sería (suponiendo que es leer.exe
):
leer.exe --puerto=:8181
Aquí tienes algunas pruebas:
Si te fijas, debemos indicar el valor por defecto en caso de que el usuario no lo proporcione. Además, la descripción sirve para cuando el usuario indica una opción errónea (digamos que es la ayuda):
Así es como terminamos este post. También existe otra manera en donde simplemente leemos los argumentos como un arreglo, pero eso lo dejo para otro artículo, ya que me parece que esta opción es más elegante.
Si Go te gusta puedes aprender más por aquí.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Podrias hacer un ejemplo igual con php como recoger lo que devuelva el programa por linea de comandos en variables de php?
Lo tendré en cuenta.
Saludos!