api-base/pkg/args/args.go

37 lines
625 B
Go

package args
import (
"errors"
"os"
"git.trj.tw/golang/argparse"
)
type Args struct {
ConfigPath string
DBTool bool
Run string
}
var a *Args
func Parse() error {
a = &Args{}
parser := argparse.New()
parser.StringVar(&a.ConfigPath, "", "c", "config", "config file path", nil)
parser.StringVar(&a.Run, "server", "r", "run", "run mode [server, dbtool], default server", nil)
parser.BoolVar(&a.DBTool, false, "d", "dbtool", "run db migration", nil)
parser.Help("h", "help")
return parser.Parse(os.Args)
}
func Get() *Args {
if a == nil {
panic(errors.New("arguments not init"))
}
return a
}