Pregunta

Puede alguien explicar banderas en Ir?

flag.Parse()
var omitNewline = flag.Bool("n", false, "don't print final newline")
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top