package main import ( "fmt" "log/slog" "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 "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...) default: err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool help' for usage`, name) slog.Warn(err.Error()) return err } }