validar significa que linea ejemplo comandos argumentos go

go - significa - ¿Qué es el equivalente de Argv[0]?



que significa int main int argc char*argv[]) (2)

use os.Args[0] del paquete http://golang.org/pkg/os/#Variables

package main import "os" func main() { println("I am ", os.Args[0]) }

¿Cómo puedo obtener el nombre de mi propio programa en tiempo de ejecución? ¿Cuál es el equivalente de Go de C / C ++ argv [0]? Para mí, es útil generar el uso con el nombre correcto.

Actualización: agregó un código.

package main import ( "flag" "fmt" "os" ) func usage() { fmt.Fprintf(os.Stderr, "usage: myprog [inputfile]/n") flag.PrintDefaults() os.Exit(2) } func main() { flag.Usage = usage flag.Parse() args := flag.Args() if len(args) < 1 { fmt.Println("Input file is missing."); os.Exit(1); } fmt.Printf("opening %s/n", args[0]); // ... }


import "os" os.Args[0] // name of the command that it is running as os.Args[1] // first command line parameter, ...

Los argumentos están expuestos en el paquete de os http://golang.org/pkg/os/#Variables

Si va a manejar los argumentos, el paquete de flag http://golang.org/pkg/flag es la forma preferida. Específicamente para su flag.Usage caso. flag.Usage

Actualiza el ejemplo que diste:

func usage() { fmt.Fprintf(os.Stderr, "usage: %s [inputfile]/n", os.Args[0]) flag.PrintDefaults() os.Exit(2) }

debería hacer el truco