1.安装cobra
go get -u github.com/spf13/cobra
2.使用方法
例如实现一个xlsx大文件拆分工具
root.go
package cmd
import "github.com/spf13/cobra"
// 命令行的根命令注册句柄
var rootcmd = &cobra.Command{
Use: "split_xlsx",
Short: "文件拆分工具"
TraverseChildren: "true",
Long: "拆分工具"
}
// 根据需要创建命令的入口方法注册处理中心
func init() {
rootCmd.AddCommand(NewSplitCmd()) // 内部方法为一个返回值*cobra.Command的方法
// ... 具体可根据自己需要添加所需要的命令
}
// 所有的命令服务执行入口
func Execute() error {
return rootCmd.Execute()
}
main.go
package main
import (
"os"
"github.com/split_xlsx/cmd"
)
func main(){
if err := cmd.Execute();err != nil {
os.Exit(2)
}
}
split_xlsx.go
// NewSplitCmd方法
func NewSplitCmd() *cobra.Command {
var action int
authorCmd := &cobra.Command {
Use: "使用说明命令行",
Short: "工具名称",
RunE: func(cmd *cobra.Command,args []string) error {
// 具体命令处理方法。。。
}
return nil
},
// 命令参数指定
authorCmd.Flags().IntVarP(&action,"action","a",0,"1:拆分文件")
return authorCmd
}