golang-cobra学习笔记

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
}

你可能感兴趣的:(golang笔记,golang)