| @ -0,0 +1,89 @@ | |||
| package arg | |||
| import ( | |||
| "fmt" | |||
| "os" | |||
| "github.com/alexflint/go-arg" | |||
| ) | |||
| // This example demonstrates basic usage | |||
| func Example_Basic() { | |||
| // These are the args you would pass in on the command line | |||
| os.Args = []string{"./example", "--foo=hello", "--bar"} | |||
| var args struct { | |||
| Foo string | |||
| Bar bool | |||
| } | |||
| arg.MustParse(&args) | |||
| fmt.Println(args.Foo, args.Bar) | |||
| } | |||
| // This example demonstrates arguments that have default values | |||
| func Example_DefaultValues() { | |||
| // These are the args you would pass in on the command line | |||
| os.Args = []string{"--help"} | |||
| var args struct { | |||
| Foo string | |||
| Bar bool | |||
| } | |||
| args.Foo = "default value" | |||
| arg.MustParse(&args) | |||
| fmt.Println(args.Foo, args.Bar) | |||
| } | |||
| // This example demonstrates arguments that are required | |||
| func Example_RequiredArguments() { | |||
| // These are the args you would pass in on the command line | |||
| os.Args = []string{"--foo=1", "--bar"} | |||
| var args struct { | |||
| Foo string `arg:"required"` | |||
| Bar bool | |||
| } | |||
| arg.MustParse(&args) | |||
| } | |||
| // This example demonstrates positional arguments | |||
| func Example_PositionalArguments() { | |||
| // These are the args you would pass in on the command line | |||
| os.Args = []string{"./example", "in", "out1", "out2", "out3"} | |||
| var args struct { | |||
| Input string `arg:"positional"` | |||
| Output []string `arg:"positional"` | |||
| } | |||
| arg.MustParse(&args) | |||
| fmt.Println("Input:", args.Input) | |||
| fmt.Println("Output:", args.Output) | |||
| } | |||
| // This example demonstrates arguments that have multiple values | |||
| func Example_MultipleValues() { | |||
| // The args you would pass in on the command line | |||
| os.Args = []string{"--help"} | |||
| var args struct { | |||
| Database string | |||
| IDs []int64 | |||
| } | |||
| arg.MustParse(&args) | |||
| fmt.Printf("Fetching the following IDs from %s: %q", args.Database, args.IDs) | |||
| } | |||
| // This example shows the usage string generated by go-arg | |||
| func Example_Usage() { | |||
| // These are the args you would pass in on the command line | |||
| os.Args = []string{"--help"} | |||
| var args struct { | |||
| Input string `arg:"positional"` | |||
| Output []string `arg:"positional"` | |||
| Verbose bool `arg:"-v,help:verbosity level"` | |||
| Dataset string `arg:"help:dataset to use"` | |||
| Optimize int `arg:"-O,help:optimization level"` | |||
| } | |||
| arg.MustParse(&args) | |||
| } | |||