| @ -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) | |||||
| } | |||||