package main import ( "log" "os" "github.com/urfave/cli/v2" ) func main() { app := cli.NewApp() app.Name = "protc" app.Usage = "protobuf生成工具" app.Flags = []cli.Flag{ &cli.BoolFlag{ Name: "bm", Usage: "whether to use BM for generation", Destination: &withBM, }, &cli.BoolFlag{ Name: "grpc", Usage: "whether to use gRPC for generation", Destination: &withGRPC, }, &cli.BoolFlag{ Name: "swagger", Usage: "whether to use swagger for generation", Destination: &withSwagger, }, &cli.BoolFlag{ Name: "ecode", Usage: "whether to use ecode for generation", Destination: &withEcode, }, } app.Action = func(c *cli.Context) error { return protocAction(c) } if err := app.Run(os.Args); err != nil { log.Fatal(err) } }