Golang flag.FlagSet.Arg() function example

package flag

Arg returns the i'th (1st parameter) argument. Arg(0) is the first remaining argument after flags have been processed.

Golang flag.FlagSet.Arg() function usage example

 package main

 import (
 "flag"
 "fmt"
 "os"
 )

 func main() {
 flags := flag.NewFlagSet("", flag.ContinueOnError)
 cmd := "help"
 var cmdArgs []string
 if err := flags.Parse(os.Args[1:]); err == nil && flags.NArg() != 0 {
 cmd = flags.Arg(0)
 cmdArgs = flags.Args()[1:]  // <--- here
 if cmd == "help" && flags.NArg() == 2 {
 cmd = flags.Arg(1)
 cmdArgs = []string{"--help"}
 }
 }

 fmt.Println(cmdArgs)

 }

Output :

$ go run flagsetarg.go help me

[--help]

Reference :

http://golang.org/pkg/flag/#FlagSet.Arg

Advertisement