安裝cobra
go get -v github.com/spf13/cobra/cobra
會報錯,因爲/src下缺少了golang.org文件夾,還有裏面的sys,text文件夾,偷個懶,找了個現成的拖進去了這裏下載
然後就可以用啦,$GOPATH目錄結構現在是這樣的,有了cobra可執行文件:
爲項目實現一個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)
}
運行: