安装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)
}
运行: