安裝cobra
go get -v github.com/spf13/cobra/cobra
會報錯,因為/src下缺少了golang.org檔案夾,還有裡面的sys,text檔案夾,偷個懶,找了個現成的拖進去了這裡下載下傳
然後就可以用啦,$GOPATH目錄結構現在是這樣的,有了cobra可執行檔案:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM0QDM1cTNxIDNyATM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
為項目實作一個register(注冊使用者)指令,register --user=TestUser
1.注意要在$GOPATH目錄下(/$GOPATH, /$GOPATH/bin, /$GOPATH/src 都可):
2.src目錄下出現了一個demo檔案夾,包含初始的檔案,然後我們添加一個register.go:
3.register.go的init()中注冊了user參數,“u"的作用是簡化指令agenda register -uTestUser
registerCmd.Flags().StringP("user", "u", "Anonymous", "Help message for username")
再修改RUN(擷取參數,do something):
Run: func(cmd *cobra.Command, args []string) {
username,_:=cmd.Flags().GetString("user")
fmt.Println("register called by " + username)
}
運作: