package main import ( "fmt" "os" ) func main() { if err := Run(os.Args[1:]...); err != nil { os.Exit(1) } } func Run(args ...string) error { name, args := ParseCommandName(args) // 从参数中解析出命令 switch name { case "", "help": return RunHelp(args...) case "info": return RunInfo(args...) case "write": return RunWrite(args...) case "read": return RunRead(args...) case "columnwrite": return RunColumnWrite(args...) case "convert": return RunConvert(args...) case "verify": return RunVerify(args...) case "task": return RunTask(args...) case "target": return RunTarget(args...) case "bind": return RunBind(args...) default: err := fmt.Errorf(`unknown command "%v"`+"\n"+`Run 'saastool help' for usage`, name) fmt.Fprintln(os.Stderr, err.Error()) return err } }