日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文就介紹兩個專門用來開發命令行應用程序的庫。

在日常開發中,大家對命令行工具(CLI)想必特別熟悉了,如果說你不知道命令工具,那你可能是個假開發。每天都會使用大量的命令行工具,例如最常用的Git、Go、Docker等。

不管是做技術開發還是業務開發,都會有開發命令行程序的場景。例如如果是開發框架,會開發一個命令行工具幫助使用者快速生成項目結構;如果是開發一個定時任務程序,會開發一個命令行工具來啟動這個任務。本文就介紹兩個專門用來開發命令行應用程序的庫。

urfave/cli

urfave/cli是一個簡單、快速、有趣的包,專門用于構建命令行應用程序。其目標是使開發人員能夠以一種富有表現力的方式編寫快速且可分發的命令行應用程序??匆粋€簡單的例子:

package main

import (
  "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)
  }
}

編譯后,執行一下查看幫助命令看下效果。

$ ./main -h 
NAME:
   blog - 顯示路多辛blog歡迎語

USAGE:
   blog [global options] command [command options] [arguments...]

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help

執行下blog命令看下效果

$ ./main blog
歡迎來到路多辛的blog,能幫助到大家是我最大的快樂!

更多使用方法可以參考官方文檔 https://cli.urfave.org/。

spf13/cobra

這個庫是Go語言負責人主要參與開發的,很多知名項目的命令行工具都是使用這個庫開發的,例如Kube.NETes、Istio、Docker、Etcd、GitHubCLI等等??匆粋€簡單的例子:

package main

import (
  "fmt"
  "os"

  "github.com/spf13/cobra"
)

func main() {
  Execute()
}

func Execute() {
  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,能幫助到大家是我最大的快樂!

更多使用方法可以參考官方文檔
https://github.com/spf13/cobra/blob/main/user_guide.md。

分享到:
標簽:Golang
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定