mkideal/cli命令行程序构建工具
cli是一个用go语言写成的用于快速构建go语言命令行程序的工具。
Key features
- 轻巧易用。
- 按标记定义标记,例如标记名称(短或/和长),描述,默认值,密码,提示等。
- 类型安全。
- 输出看起来非常不错。
- 支持自定义验证器。
- 支持切片和映射作为标志。
- 支持任何类型作为实现cli.Decoder接口的标志字段。
- 支持任何类型作为使用FlagParser的标志字段。
- 命令建议。(例如
hl
=>help
,“ veron” =>“ version”)。 - 支持标志的默认值,甚至支持有关env变量的表达式(例如
dft:"$HOME/dev"
)。 - 支持
git commit
命令之类的编辑器(请参见示例21和22)
一个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 }) }
评论