cli是一个用go语言写成的用于快速构建go语言命令行程序的工具。
Supports default value for flag, even expression about env variable(e.g. dft:”$HOME/dev”).
下图是用cli创建的示例程序gogo的帮助显示:
一个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 }) }
更多有用的例子:
http://www.mkideal.com/golang/cli-examples.html