Go 命令行應用開發包:Odin

jopen 10年前發布 | 12K 次閱讀 Odin Google Go/Golang開發

Odin 是一個 Go 語言開發包,用于幫助構建自文檔的命令行應用。

支持Value類型

Value Type Basic Definition Method Pointer Defintion Method
bool DefineBoolFlag DefineBoolFlagVar
float64 DefineFloat64Flag DefineFloat64FlagVar
int DefineIntFlag DefineIntFlagVar
int64 DefineInt64Flag DefineInt64FlagVar
string DefineStringFlag DefineStringFlagVar
time.Duration DefineDurationFlag DefineDurationFlagVar
uint DefineUintFlag DefineUintFlagVar
uint64 DefineUint64Flag DefineUint64FlagVar

Flags also support aliases: aliases are always defined as a rune to limit them to one character.

FlagAlias(alias rune, flagName string) 

支持:

  • 必要參數 Required Parameters

  • 類型標志和選項解析 Typed Flag/Option Parsing

  • 標志別名 Flag Aliasing

  • 子命令 DSL 用于創建完整的 CLI 應用

示例:

package main

import (
    "fmt"

    "github.com/jwaldrip/odin/cli"
)

// CLI is the odin CLI
var CLI = NewCLI("0.0.1", "my cli", func(c cli.Command){
    if c.Flag("gopher").Get() == true {
        fmt.Println("IT IS JUST GOPHERTASTIC!!!")
    } else {
        fmt.Println("It is just fine")
    }
})

func init(){
    CLI.DefineBoolFlag("gopher", false, "is it gophertastic?")
    CLI.FlagAlias('g', "gopher")
}

func main(){
    CLI.Start()
}

項目主頁:http://www.baiduhome.net/lib/view/home/1412073086640

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!