add README
This commit is contained in:
parent
7e1437715b
commit
22c73471e6
|
@ -0,0 +1,89 @@
|
|||
Argument parsing for Go.
|
||||
|
||||
```golang
|
||||
var args struct {
|
||||
Foo string
|
||||
Bar bool
|
||||
}
|
||||
arg.MustParse(&args)
|
||||
fmt.Println(args.Foo)
|
||||
fmt.Println(args.Bar)
|
||||
```
|
||||
|
||||
```bash
|
||||
$ ./example --foo=hello --bar
|
||||
hello
|
||||
True
|
||||
```
|
||||
|
||||
Setting defaults values:
|
||||
|
||||
```golang
|
||||
var args struct {
|
||||
Foo string
|
||||
Bar bool
|
||||
}
|
||||
args.Foo = "default value"
|
||||
arg.MustParse(&args)
|
||||
```
|
||||
|
||||
Marking options as required
|
||||
|
||||
```golang
|
||||
var args struct {
|
||||
Foo string `arg:"required"`
|
||||
Bar bool
|
||||
}
|
||||
arg.MustParse(&args)
|
||||
```
|
||||
|
||||
Positional argument:
|
||||
|
||||
```golang
|
||||
var args struct {
|
||||
Input string `arg:"positional"`
|
||||
Output []string `arg:"positional"`
|
||||
Verbose bool
|
||||
}
|
||||
arg.MustParse(&args)
|
||||
fmt.Println("Input:", input)
|
||||
fmt.Println("Output:", output)
|
||||
```
|
||||
|
||||
```
|
||||
$ ./example src.txt x.out y.out z.out
|
||||
Input: src.txt
|
||||
Output: [x.out y.out z.out]
|
||||
```
|
||||
|
||||
Usage strings:
|
||||
```bash
|
||||
$ ./example -h
|
||||
usage: [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--help] INPUT [OUTPUT [OUTPUT ...]]
|
||||
|
||||
positional arguments:
|
||||
input
|
||||
output
|
||||
|
||||
options:
|
||||
--verbose, -v verbosity level
|
||||
--dataset DATASET dataset to use
|
||||
--optimize OPTIMIZE, -O OPTIMIZE
|
||||
optimization level
|
||||
--help, -h print this help message
|
||||
```
|
||||
|
||||
Options with multiple values:
|
||||
```
|
||||
var args struct {
|
||||
Database string
|
||||
IDs []int64
|
||||
}
|
||||
arg.MustParse(&args)
|
||||
fmt.Printf("Fetching the following IDs from %s: %q", args.Database, args.IDs)
|
||||
```
|
||||
|
||||
```bash
|
||||
./example -database foo -ids 1 2 3
|
||||
Fetching the following IDs from foo: [1 2 3]
|
||||
```
|
Loading…
Reference in New Issue