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