1,命令行查看 Go 开发包的环境变量配置信息
命令行说明如下:
第 1 行,执行 go env 指令,将输出当前 Go 开发包的环境变量状态。
第 2 行,GOARCH 表示目标处理器架构。
第 3 行,GOBIN 表示编译器和链接器的安装位置。
第 7 行,GOOS 表示目标操作系统。
第 8 行,GOPATH 表示当前工作目录。
第 10 行,GOROOT 表示 Go 开发包的安装目录。
从命令行输出中,可以看到 GOPATH 设定的路径为:C:\Users\Administrator\go
2,Web框架Beego环境搭建:
Beego这个框架是国人大牛谢孟军写的轻量级应用框架,在他的书《Go Web编程》中就有对这个框架的说明,各种写的好。
需要先安装好了Git,这下要发挥作用了。
步骤一、安装beego
点击“Git Bash”,输入“go get github.com/astaxie/beego”,如下图
其中这个安装没有进度条,等待一会即可,不要以为是其他问题啊
等一会儿即可。安装完成后,在GOPATH路径下,我这里GOPATH的路径是“C:\Users\Administrator\go”,
在“ \pkg\github.com\”和“ \src\github.com\”路径下能看到astaxie文件夹,还有下级beego文件夹
步骤二、安装bee工具(框架生成工具)
为了方便的生成框架,点击“Git Bash”,输入“go get github.com/beego/bee ”,如下图
稍等片刻即可在GOPATH的src目录下看到有\github.com\beego\bee目录,同时有很多依赖包被下载添加到\github.com目录下
安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境变量中,才可以进行下一步。
打开一个命令行输入bee有如上结果即可
version 命令
这个命令是动态获取 bee、beego 和 Go 的版本,这样一旦用户出现错误,可以通过该命令来查看当前的版本
顺带说一句,Go程序的目录结构是在GOPATH文件夹下的,分为bin, pkg, 和src三个子文件夹
bin文件夹:Go的每个项目生成的二进制可执行程序。windows下会生成.exe文件,linux下会生成可执行文件。Go的最大特色之一就是可移植性,就是说,当生成一个demo.exe之后,将这个exe文件放在任意一台windows系统上(即使没有安装go安装包),也是可以执行的。这是让PHP,Python等脚本语言望成莫及的。
pkg文件夹:第三方库。里面存放你的项目中引用的第三方库(非官方已经提供的库)
src文件夹:每个次级文件夹(如demo)就是代表一个go项目,里面存放源程序
3,创建新项目
new 命令
new 命令是新建一个 Web 项目,我们在命令行下执行 bee new <项目名> 就可以创建一个新的项目。但是注意该命令必须在 $GOPATH/src 下执行。最后会在 $GOPATH/src 相应目录下生成如下目录结构的项目:
这样一个Beego框架的工程就生成成功了
结构如下
myproject
├── conf
│ └── app.conf
├── controllers
│ └── default.go
├── main.go
├── models
├── routers
│ └── router.go
├── static
│ ├── css
│ ├── img
│ └── js
├── tests
│ └── default_test.go
└── views
└── index.tpl
8 directories, 4 files
api 命令
上面的 new 命令是用来新建 Web 项目,不过很多用户使用 beego 来开发 API 应用。所以这个 api 命令就是用来创建 API 应用的,执行命令之后如下所示:
项目结构如下
apiproject
├── conf
│ └── app.conf
├── controllers
│ └── object.go
│ └── user.go
├── docs
│ └── doc.go
├── main.go
├── models
│ └── object.go
│ └── user.go
├── routers
│ └── router.go
└── tests
└── default_test.go
从上面的目录我们可以看到和 Web 项目相比,少了 static 和 views 目录,多了一个 test 模块,用来做单元测试的。
同时,该命令还支持一些自定义参数自动连接数据库创建相关 model 和 controller:
bee api [appname] [-tables=""] [-driver=mysql] [-conn=“root:@tcp(127.0.0.1:3306)/test”]
如果 conn 参数为空则创建一个示例项目,否则将基于链接信息链接数据库创建项目
run 命令
我们在开发 Go 项目的时候最大的问题是经常需要自己手动去编译再运行,bee run 命令是监控 beego 的项目,通过 fsnotify监控文件系统。但是注意该命令必须在 $GOPATH/src/appname 下执行。
这样我们在开发过程中就可以实时的看到项目修改之后的效果:
打开浏览器,输入“http://127.0.0.1:8080”就看到了运行的结果。(如果你本地装有其他应用占用了8080端口,可以更换下端口)
如果我们修改了 Controller 下面的 default.go 文件,刷新浏览器我们看到新的修改内容已经输出:
之后ctrl+c停止服务即可