package main import ( "fmt" "strings" ) func RunGrant(args ...string) error { name, args := ParseCommandName(args) // 从参数中解析出命令 switch name { case "", "help": return RunGrantHelp(args...) case "list": return RunGrantList(args...) case "add": return RunGrantAdd(args...) case "delete": return RunGrantDelete(args...) default: return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool grant help' for usage`, name) } } func RunGrantHelp(args ...string) error { fmt.Println(strings.TrimSpace(grantUsage)) return nil } const grantUsage = ` Usage: saastool grant COMMAND [OPTIONS] Commands: list List data grants add Add data grant delete Delete data grant "help" is the default command. Use "saastool grant COMMAND -help" for more information about a command. `