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
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值