go语言cli命令行交互

本文介绍Cobra框架的基本使用,包括如何定义命令、参数和配置文件。Cobra是一个强大的CLI工具生成器,支持复杂的子命令结构,使开发者能够轻松构建功能丰富的命令行应用程序。
  • cobra使用

预先准备:go get “github.com/spf13/cobra”

cobra/cmd/root.go

package cmd

import (
	"fmt"
	"os"
	"github.com/spf13/cobra"
	"github.com/spf13/viper"
	homedir "github.com/mitchellh/go-homedir"
)

var RootCmd = &cobra.Command{
   
   
	Use:     "query",
	Short:   "query student info",
	Long: "运行main会生成query.exe文件",
	Run: func(cmd *cobra.Command, args []string) {
   
   
		fmt.Printf("\n-- start running cli --\n")
	},
}

// 执行RootCmd命令,在main被调用
func Execute()  {
   
   
	RootCmd.Execute()
}

var cfgFile string

func init() {
   
   
	// 在此可以定义自己的flag或者config设置
	cobra.OnInitialize(initConfig)
	
	// Cobra支持持久标签(persistent flag),它对于整个应用为全局
	RootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (defalut in $HOME/.cobra.yaml)")

	// Cobra同样支持局部标签(local flag),并只在直接调用它时运行
	RootCmd.Flags().BoolP("toggle"
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值