urfave/cli go語言的命令列庫
阿新 • • 發佈:2019-01-06
命令列應用通常很小,程式猿們也不喜歡為它編寫註釋。所以一些額外的工作,如解析引數有個合理的庫來幫忙做就好了。
https://github.com/urfave/cli 這個專案因此而生。
安裝:go get github.com/urfave/cli
以下的例子均來自官網:
package main
import (
"os"
"github.com/urfave/cli"
)
func main() {
cli.NewApp().Run(os.Args)
}
package main
import (
"fmt"
"os"
"github.com/urfave/cli"
)
func main() {
app := cli.NewApp()
app.Flags = []cli.Flag {
cli.StringFlag{
Name: "lang",
Value: "english",
Usage: "language for the greeting",
},
}
app.Action = func(c *cli.Context) error {
name := "Nefertiti"
if c.NArg() > 0 {
name = c.Args().Get (0)
}
if c.String("lang") == "spanish" {
fmt.Println("Hola", name)
} else {
fmt.Println("Hello", name)
}
return nil
}
app.Run(os.Args)
}