command/README.md

47 lines
841 B
Markdown
Raw Permalink Normal View History

2024-10-21 23:21:46 +08:00
# command
2024-11-16 15:19:59 +08:00
utils for command line app
Provide two style for command line args parse:
- use struct field tag
- use command
## Usage
use struct field tag
```go
type targs struct {
Test string `flag_default:"test" flag_usage:"this is test"`
TestBool bool `flag_short:"b"`
TestInt int
}
sargs := &targs{}
v, _ := NewFVSet(sargs)
v.Usage()
err := Parse([]string{"--test", "test", "--test-bool", "--test-int", "1"}, v)
```
use command style
```go
package main
import (
"fmt"
"os"
"git.pyer.club/kingecg/command"
)
func main() {
var cmd = command.NewCommand("test", "test command")
cmd.AddArg("arg1", "a", "arg1 description", "default value")
cmd.AddArg("arg2", "b", "arg2 description", "default value")
cmd.AddSubCommand("sub1", "sub1 description")
cmd.Parse(os.Args[1:])
fmt.Println(cmd.GetGlobalOptions())
}
```