亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文就介紹兩個(gè)專門用來開發(fā)命令行應(yīng)用程序的庫。

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

不管是做技術(shù)開發(fā)還是業(yè)務(wù)開發(fā),都會(huì)有開發(fā)命令行程序的場(chǎng)景。例如如果是開發(fā)框架,會(huì)開發(fā)一個(gè)命令行工具幫助使用者快速生成項(xiàng)目結(jié)構(gòu);如果是開發(fā)一個(gè)定時(shí)任務(wù)程序,會(huì)開發(fā)一個(gè)命令行工具來啟動(dòng)這個(gè)任務(wù)。本文就介紹兩個(gè)專門用來開發(fā)命令行應(yīng)用程序的庫。

urfave/cli

urfave/cli是一個(gè)簡(jiǎn)單、快速、有趣的包,專門用于構(gòu)建命令行應(yīng)用程序。其目標(biāo)是使開發(fā)人員能夠以一種富有表現(xiàn)力的方式編寫快速且可分發(fā)的命令行應(yīng)用程序。看一個(gè)簡(jiǎn)單的例子:

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)
  }
}

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

$ ./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

執(zhí)行下blog命令看下效果

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

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

spf13/cobra

這個(gè)庫是Go語言負(fù)責(zé)人主要參與開發(fā)的,很多知名項(xiàng)目的命令行工具都是使用這個(gè)庫開發(fā)的,例如Kube.NETes、Istio、Docker、Etcd、GitHubCLI等等。看一個(gè)簡(jiǎn)單的例子:

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)
  }
}

編譯后,執(zhí)行一下查看幫助命令看下效果:

$ ./main -h       
顯示路多辛blog歡迎語,介紹blog的整體情況

Usage:
  blog [flags]

Flags:
  -h, --help   help for blog
 

執(zhí)行下blog命令看下效果:

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

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

分享到:
標(biāo)簽:Golang
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定