golang进阶(二)——cobra更实用的命令行
发布时间:2020-12-16 09:46:10 所属栏目:大数据 来源:网络整理
导读:+++ title=”golang进阶(二)——cobra更实用的命令行” date=”2017-10-11” tags=[“golang”,”glide”,”docker”] categories=[“资源管理”] description=”golang自身带的命令行包,各种case,有代码洁癖的人看着就令人头大” +++ cobra是个非常不错
+++ cobra是个非常不错的命令行包,docker,hugo都在使用 基命令首先创建一个基命令 package cmd
import (
"github.com/spf13/cobra"
)
var RootCmd = &cobra.Command{
Use: "gonne",Run: func(cmd *cobra.Command,args []string) {
println("gonne is my ai friend")
},}
使用命令在main方法中调用命令,恩,就这么简单 package main
import (
"fmt"
"os"
"lastsweetop.com/cmd"
)
func main() {
if err := cmd.RootCmd.Execute(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}
在命令行输入 appletekiMacBook-Pro:src apple$ gonne gonne is my ai friend 子命令在基命令上增加子命令也相当简单,根本无需在基命令和main方法中写任何代码,只需新建一个go文件,多个子命令间也是相互独立的,多么优雅的代码,告别各种case package cmd
import "github.com/spf13/cobra"
func init() {
RootCmd.AddCommand(versionCmd)
}
var versionCmd = &cobra.Command{
Use: "version",Short: "Print the version number of Gonne",args []string) {
println("gonne version is 0.0.1")
},}
效果如下: appletekiMacBook-Pro:src apple$ gonne version
gonne version is 0.0.1
其他还有关于参数的问题,我们下一篇和怎么样做一个后台进程一起讲 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |