1. 程式人生 > >Cobra安裝和簡單應用

Cobra安裝和簡單應用

cobra安裝

關鍵點在於先將golang的sys和text複製到本地來,再使用指令進行安裝 指令步驟為:

使用命令 go get -v github.com/spf13/cobra/cobra下載過程中,會出提示如下錯誤

這是熟悉的錯誤,請先cd到$GOPATH/src/golang.org/x目錄下用 git clone 下載 sys 和 text 專案 具體指令為: git clone https://github.com/golang/text git clone https://github.com/golang/sys

然後使用 go install github.com/spf13/cobra/cobra, 安裝後在 $GOBIN 下出現了 cobra 可執行程式。

cobra使用

使用cobra建立一個新的demo: 由於cobra只能夠在gopath的目錄下使用,因此我們需要先cd到gopath的src資料夾中 在src目錄下,我們可以使用cobra init demo這一條指令來新建一個demo 然後我們使用ls指令就可以看到目錄下生成了一個demo專案,進入到裡面試著執行一下,應該是可以成功執行的 具體步驟如下圖: 在這裡插入圖片描述

按照潘老師部落格中的操作進行簡單的cobra使用

其中有一個地方感覺需要注意一下:cobra init 要應用在一個新建的空資料夾中,會自動在資料夾下建立一個生成好的框架

也就是說:


 - mkdir temp
 - cd temp
 - cobra init

或者


 - cobra init temp

這兩段命令的效果是一樣的

然後我們cd進新生成的檔案目錄下,使用指令cobra add register,就會新新增一個名為register的操作,此時操作沒有任何效果,使用go run xxx.go register只會提示你呼叫了這個操作 在這裡插入圖片描述

具體呼叫過程我們可以閱讀【main.go】和【root.go】、【register.go】三個檔案得知 然後我們可以通過修改【register.go】來新增相應的操作 具體操作為:

register.go,中的init() 新增: registerCmd.Flags().StringP("user", "u", "Anonymous", "Help message for username")

Run 匿名回撥函式中新增: username, _ := cmd.Flags().GetString("user") fmt.Println("register called by " + username)

修改後的【register.go】檔案如下: 在這裡插入圖片描述

修改後wq退出,然後就可以進行測試: 命令為:go run main.go register --user=Apple 可看到修改命令生效了 在這裡插入圖片描述