您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用Golang快速構建出命令行應用程序的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何使用Golang快速構建出命令行應用程序文章都會有所收獲,下面我們一起來看看吧。
urfave/cli是一個簡單、快速、有趣的包,專門用于構建命令行應用程序。其目標是使開發人員能夠以一種富有表現力的方式編寫快速且可分發的命令行應用程序。看一個簡單的例子:
package main import ( "fmt" "log" "os" "github.com/urfave/cli/v2" ) funcmain() { app := &cli.App{ Name: "blog", Usage: "顯示路多辛blog歡迎語", Action: func(*cli.Context)error { fmt.Println("歡迎來到路多辛的blog,能幫助到大家是我最大的快樂!") returnnil }, } if err := app.Run(os.Args); err != nil { log.Fatal(err) } }
編譯后,執行一下查看幫助命令看下效果
$ ./main -h NAME: blog - 顯示路多辛blog歡迎語 USAGE: blog [global options] command [command options] [arguments...] COMMANDS: help, h Shows a list of commands or helpfor one command GLOBAL OPTIONS: --help, -h show help
執行下blog命令看下效果
$ ./main blog 歡迎來到路多辛的blog,能幫助到大家是我最大的快樂!
這個庫是Go語言負責人主要參與開發的,很多知名項目的命令行工具都是使用這個庫開發的,例如Kubernetes、Istio、Docker、Etcd、GitHubCLI等等。看一個簡單的例子:
package main import ( "fmt" "os" "github.com/spf13/cobra" ) funcmain() { Execute() } funcExecute() { var rootCmd = &cobra.Command{ Use: "blog", Short: "顯示路多辛blog歡迎語", Long: "顯示路多辛blog歡迎語,介紹blog的整體情況", Run: func(cmd *cobra.Command, args []string) { fmt.Println("歡迎來到路多辛的blog,能幫助到大家是我最大的快樂!") }, } if err := rootCmd.Execute(); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } }
編譯后,執行一下查看幫助命令看下效果:
$./main -h 顯示路多辛blog歡迎語,介紹blog的整體情況Usage:blog[flags]Flags:-h,--help help for blog
執行下blog命令看下效果:
$ ./main blog 歡迎來到路多辛的blog,能幫助到大家是我最大的快樂!
關于“如何使用Golang快速構建出命令行應用程序”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“如何使用Golang快速構建出命令行應用程序”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。