74e7586c36 | ||
---|---|---|
.vscode | ||
example | ||
.gitignore | ||
LICENSE | ||
README.md | ||
command.go | ||
flag.go | ||
flag_test.go | ||
go.mod | ||
usage.go |
README.md
command
utils for command line app
Provide two style for command line args parse:
- use struct field tag
- use command
Usage
use struct field tag
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
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())
}