Pregunta
Puede alguien explicar banderas en Ir?
flag.Parse()
var omitNewline = flag.Bool("n", false, "don't print final newline")
Solución
http://golang.org/pkg/flag/ para una descripción completa.
Los argumentos para flag.Bool son (nombre de la cadena, el valor bool, string uso)
nombre es el argumento para buscar, el valor es el valor predeterminado y uso describe el propósito de la bandera para un argumento -help o similares, y se muestra con flag.Usage ().
Por ejemplo más detallado de verificación aquí
Otros consejos
flag
se utiliza para analizar los argumentos de línea de comandos. Si pasa "-n" como un argumento de línea de comandos, omitNewLine se establece en true. Se explica un poco más lejos en el tutorial:
Después de haber importado el paquete bandera, línea 12 crea una variable global para mantener el valor de la opción -n del eco. El omitNewline variable tiene el tipo bool *, puntero a bool.
banderas son una forma común para especificar opciones para los programas de línea de comandos.
package main
import (
"flag"
"fmt"
)
var (
env *string
port *int
)
// Basic flag declarations are available for string, integer, and boolean options.
func init() {
env = flag.String("env", "development", "a string")
port = flag.Int("port", 3000, "an int")
}
func main() {
// Once all flags are declared, call flag.Parse() to execute the command-line parsing.
flag.Parse()
// Here we’ll just dump out the parsed options and any trailing positional
// arguments. Note that we need to dereference the points with e.g. *evn to
// get the actual option values.
fmt.Println("env:", *env)
fmt.Println("port:", *port)
}
Ejecutar Programas:
go run main.go
Trate a cabo la ejecución del programa por primera dándole sin banderas. Tenga en cuenta que si se omite banderas toman automáticamente sus valores por defecto.
go run command-line-flags.go --env production --port 2000
Si usted proporcione una bandera con el valor especificado a continuación, por defecto se sobreponen por un pasado.