golang fortnite go command-line-arguments

fortnite - Marcar línea de comando analizando en golang



golang flags (1)

Este es un ejemplo complicado de usar el paquete de flag . Típicamente las banderas se configuran de esta manera:

package main import "flag" // note, that variables are pointers var strFlag = flag.String("long-string", "", "Description") var boolFlag = flag.Bool("bool", false, "Description of flag") func init() { // example with short version for long flag flag.StringVar(strFlag, "s", "", "Description") } func main() { flag.Parse() println(*strFlag, *boolFlag) }

No estoy seguro de entender el razonamiento detrás de este ejemplo (tomado de here ), ni lo que está tratando de comunicar sobre el lenguaje Go

package main import ( "flag" "fmt" ) func main() { f := flag.NewFlagSet("flag", flag.ExitOnError) f.Bool("bool", false, "this is bool flag") f.Int("int", 0, "this is int flag") visitor := func(a *flag.Flag) { fmt.Println(">", a.Name, "value=", a.Value) } fmt.Println("Visit()") f.Visit(visitor) fmt.Println("VisitAll()") f.VisitAll(visitor) // set flags f.Parse([]string{"-bool", "-int", "100"}) fmt.Println("Visit() after Parse()") f.Visit(visitor) fmt.Println("VisitAll() after Parse()") f.VisitAll(visitor) }

Algo a lo largo de las líneas de la configuración que tienen pero luego agregar un

int_val := f.get("int")

para obtener el argumento nombrado parecería más útil. Soy completamente nuevo en Go, así que solo trato de familiarizarme con el idioma.