• spf13/cobra中文README.md


    cobra logo

    Cobra既是一个用于创建强大的现代CLI应用程序的库,也是一个用于生成应用程序和命令文件的程序。

    Cobra被用于许多Go项目中,如KubernetesHugoGithub CLI等等。
    等。这个列表包含一个更广泛的使用Cobra的项目列表。

    GoDoc | Go Report Card | Slack

    概述

    Cobra是一个库,提供了一个简单的接口来创建强大的现代CLI
    界面,类似于git和go工具。

    Cobra也是一个应用程序,它将生成你的应用程序脚手架,以快速
    开发一个基于Cobra的应用程序。

    Cobra提供了。

    • 简单的基于子命令的CLI:app serverapp fetch,等等。
    • 完全符合POSIX标准的标志(包括短和长的版本)
    • 嵌套的子命令
    • 全局、局部和级联标志
    • 使用 "cobra init "和 "cobra add cmdname "轻松生成应用程序和命令。
    • 智能建议(app srver...你是说app server吗?)
    • 自动生成命令和标志的帮助
    • 自动识别 "h"、"--help "等帮助标志。
    • 为你的应用程序自动生成shell自动完成(bash, zsh, fish, powershell)。
    • 为你的应用程序自动生成man页
    • 命令别名,所以你可以在不破坏它们的情况下改变事情
    • 灵活地定义你自己的帮助、用法等。
    • 可选的与viper无缝集成,用于12个因素的应用程序。

    概念

    Cobra是建立在一个由命令、参数和标志组成的结构上。

    命令代表动作,参数是事物,而标志是这些动作的修饰语。

    最好的应用程序在使用时读起来就像句子一样,因此,用户可以直观地知道如何与之互动。
    直观地知道如何与它们互动。

    要遵循的模式是
    APPNAME VERB NOUN --ADJECTIVE.

    APPNAME COMMAND ARG --FLAG

    几个好的现实世界的例子可以更好地说明这一点。

    在下面的例子中,'server'是一个命令,'port'是一个标志。

    hugo server --port=1313
    

    在这个命令中,我们告诉Git要克隆裸露的URL。

    git clone URL --bare
    

    命令

    命令是应用程序的中心点。应用程序所支持的每个交互
    都会包含在一个命令中。一个命令可以
    有子命令,也可以选择运行一个动作。

    在上面的例子中,'server'是命令。

    更多关于cobra.Command

    标志

    标志是一种修改命令行为的方法。Cobra支持
    和Go的flag包一样,支持完全符合POSIX标准的标志。
    一个Cobra命令可以定义持续存在于子命令中的标志
    和只对该命令有效的标志。

    在上面的例子中,'port'是一个标志。

    标志功能是由pflag库提供,它是标志标准库的一个分叉
    的分叉,它保持了相同的接口,同时增加了 POSIX 的兼容性。

    安装

    使用Cobra很容易。首先,使用go get安装最新版本的
    库的最新版本。这个命令将安装cobra生成器可执行文件
    以及库和它的依赖项。

    go get -u github.com/spf13/cobra
    

    接下来,在你的应用程序中包含Cobra。

    import "github.com/spf13/cobra"
    

    用法

    Cobra提供了自己的程序,它将创建你的应用程序并添加任何你想要的
    你想要的命令。这是将Cobra纳入你的应用程序的最简单方法。

    关于使用Cobra生成器的完整细节,请阅读The Cobra Generator README

    关于使用Cobra库的完整细节,请阅读The Cobra User Guide

    许可证

    Cobra是在Apache 2.0许可下发布的。参见LICENSE.txt

  • 相关阅读:
    工资调整
    演义群侠传(八)【bloom组件源码学习】
    Win8快捷键
    教育类app
    演义群侠传(八)【我需要学习的东西】
    演义群侠传(七)【GC垃圾回收】
    演义群侠传(十)【重学设计模式】
    addChild&&rawChildren的addChild
    演义群侠传(六)【PSD切图方式】
    linux分析网卡流量
  • 原文地址:https://www.cnblogs.com/wangjiaoshou/p/15709584.html
Copyright © 2020-2023  润新知