cobra 入门

cobra是一个命令行工具库,使用它能很方便地写出与Linux类似的命令行菜单

第一个例子

使用cobra分为两部分代码 ,一个位于包中,类似于cmd的命令行,另一个位于main中,类似于一个客户端。

package cobra2

import (
	"fmt"
	"github.com/spf13/cobra"
	"os"
)

var rootCmd = &cobra.Command{
	Use: "xxx",
	Run: func(cmd *cobra.Command, args []string) {
		println("hello cobra")
	},
}


func Execute() {
	if err := rootCmd.Execute(); err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}

主函数

package main

import (
	cobra2 "cobra2/cmd"
)

func main() {

	 cobra2.Execute()
}

运行,在命令行中,或goland的命令行中添加对应的参数

E:\go_workspace\learngo\src\cobramain>go run main.go
hello cobra

如果添加参数,反而出错

E:\go_workspace\learngo\src\cobramain>go run main.go "xxx"
Error: unknown command "xxx" for "xxx"
Run 'xxx --help' for usage.

你可能感兴趣的:(golang)