2 回答
TA贡献1871条经验 获得超13个赞
您可以通过查阅此链接来解决此问题。
简而言之,您需要的是Flags()
功能。您可以在此处找到文档。
package main
import (
"fmt"
"github.com/spf13/cobra"
)
var rootCmd = &cobra.Command{
Use: "testprog",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("rootCmd called")
},
}
var subCmd = &cobra.Command{
Use: "sub",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println(args)
},
}
func main() {
rootCmd.AddCommand(subCmd)
flags := subCmd.Flags()
// not necessary in your case
flags.SetInterspersed(false)
// Bool defines a bool flag with specified name,
// default value, and usage string. The return value
// is the address of a bool variable that stores
// the value of the flag.
flags.Bool("test", false, "test flag")
rootCmd.Execute()
}
让我们看看终端中发生了什么:
> ./cobraApp sub --test a
> [a]
- 2 回答
- 0 关注
- 78 浏览
添加回答
举报