mkideal/cli命令行程序構(gòu)建工具
cli是一個(gè)用go語言寫成的用于快速構(gòu)建go語言命令行程序的工具。
Key features
- 輕巧易用。
- 按標(biāo)記定義標(biāo)記,例如標(biāo)記名稱(短或/和長(zhǎng)),描述,默認(rèn)值,密碼,提示等。
- 類型安全。
- 輸出看起來非常不錯(cuò)。
- 支持自定義驗(yàn)證器。
- 支持切片和映射作為標(biāo)志。
- 支持任何類型作為實(shí)現(xiàn)cli.Decoder接口的標(biāo)志字段。
- 支持任何類型作為使用FlagParser的標(biāo)志字段。
- 命令建議。(例如
hl=>help,“ veron” =>“ version”)。 - 支持標(biāo)志的默認(rèn)值,甚至支持有關(guān)env變量的表達(dá)式(例如
dft:"$HOME/dev")。 - 支持
git commit命令之類的編輯器(請(qǐng)參見示例21和22)
一個(gè)hello的例子
package main
import (
"github.com/mkideal/cli"
)
type argT struct {
Help bool `cli:"!h,help" usage:"display help information"`
Name string `cli:"name" usage:"your name" dft:"world"`
Age uint8 `cli:"a,age" usage:"your age" dft:"100"`
}
func main() {
cli.Run(&argT{}, func(ctx *cli.Context) error {
argv := ctx.Argv().(*argT)
if argv.Help {
ctx.String(ctx.Usage())
} else {
ctx.String("Hello, %s! Your age is %d?\n", argv.Name, argv.Age)
}
return nil
})
}
評(píng)論
圖片
表情
