golang Cobra的简单使用

      由于需要开发ctl工具,通过调研后选择了cobra,简单梳理了一下使用方法,供参考:

 

1、安装

      使用命令 go get -v github.com/spf13/cobra/cobra 

2、Cobra的简单使用

     生成项目文件

         cobra init demo  

    代码运行路径:

cmd.Execute() -》 root.go

init() --> cobra.OnInitialize(initConfig) 配置文件

rootCmd = &cobra.Command{} -> Run: (调用定义的func)

-> rootCmd.Execute()

添加子命令:

       cobra add test

       rootCmd.AddCommand(testCmd) 

 

添加子命令下的子命令:

      添加test命令下的subtest子命令:在cmd目录下创建subtest.go文件并在文件中写入如下内容:

     testCmd.AddCommand(subtestCmd)

     subtestCmd.Flags() 添加options

 

添加参数:

     修改的地方有两处:

     第一处:run的匿名函数中添加了:

       parameter, _ := cmd.Flags().GetString("user")

       fmt.Println("parameter:", parameter)

 

    第二处:init函数中添加了:

        testCmd.Flags().StringP("user", "u", "", "test")

 

执行:

go run main.go test --user=weix

或者

go run main.go test --user weix

或者

go run main.go test -u weix

 

你可能感兴趣的:(golang Cobra的简单使用)