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 "makebloom": return RunMakeBloom(args...) case "hittest": return RunHitTest(args...) case "info": return RunInfo(args...) default: err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'bloomtool help' for usage`, name) slog.Warn(err.Error()) return err } }