(相关资料图)
在日常开发中,大家对命令行工具(CLI)想必特别熟悉了,如果说你不知道命令工具,那你可能是个假开发。每天都会使用大量的命令行工具,例如最常用的Git、Go、Docker等。
不管是做技术开发还是业务开发,都会有开发命令行程序的场景。例如如果是开发框架,会开发一个命令行工具帮助使用者快速生成项目结构;如果是开发一个定时任务程序,会开发一个命令行工具来启动这个任务。本文就介绍两个专门用来开发命令行应用程序的库。
urfave/cli
urfave/cli是一个简单、快速、有趣的包,专门用于构建命令行应用程序。其目标是使开发人员能够以一种富有表现力的方式编写快速且可分发的命令行应用程序。看一个简单的例子:
package mainimport ("fmt""log""os""github.com/urfave/cli/v2")func main() {app := &cli.App{Name: "blog",Usage: "显示路多辛blog欢迎语",Action: func(*cli.Context) error {fmt.Println("欢迎来到路多辛的blog,能帮助到大家是我最大的快乐!")return nil},}if err := app.Run(os.Args); err != nil {log.Fatal(err)}}
编译后,执行一下查看帮助命令看下效果