1 回答

TA貢獻1802條經驗 獲得超5個贊
每個子命令都可以有自己的標志。您可以按以下方式執行此操作:
package main
import (
"fmt"
"log"
"github.com/spf13/cobra"
)
var rootCmd = &cobra.Command{
Use: "app",
}
func NewCmdRest() *cobra.Command {
var env string
var restCmd = &cobra.Command{
Use: "rest",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("rest:", env)
},
}
restCmd.Flags().StringVarP(&env, "env", "e", "", "environment")
return restCmd
}
func NewCmdEvent() *cobra.Command {
var env string
var eventCmd = &cobra.Command{
Use: "event",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("event:", env)
},
}
eventCmd.Flags().StringVarP(&env, "env", "e", "", "environment")
return eventCmd
}
func init() {
rootCmd.AddCommand(NewCmdRest())
rootCmd.AddCommand(NewCmdEvent())
}
func main() {
if err := rootCmd.Execute(); err != nil {
log.Fatal(err)
}
}
- 1 回答
- 0 關注
- 157 瀏覽
添加回答
舉報