【前言】猫哥因为项目需要,初学乍练Go语言及Beego框架,请各位高人指正。
0. 提前装好git,具体步骤不必赘述。
1. Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。Go语言可以用于网络服务器、存储系统和数据库开发中。
Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。
去官网(https://code.google.com/p/go/downloads/list)下载go 的Windows安装包,最好找msi文件,安装方便。
Windows平台安装一路next,无话,除了设置安装路径在D:\go。
注意一点:Go语言安装路径切忌汉语,否则会有问题。
设置Windows环境变量 GOROOT = D:\go;同时追加上PATH变量 %GOROOT%\bin。
另外,要格外注意,建一个GOPATH。具体放哪里没所谓,别用中文。猫哥把它放在 D:\go\GoDev。同样的,设置Windows环境变量 GOPATH=D:\go\GoDev。
打开一个命令行窗口
c:\>go version
go version go1.5.1 windows/amd64
恭喜!Go语言安装完毕!
3. Beego是一个用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra,支持如下特性
- MVC
- REST
- 智能路由
- 日志调试
- 配置管理
- 模板自动渲染
- layout设计
- 中间件插入逻辑
- 方便的JSON/XML服务
过程中两个坑:
3.1 第一个坑:GOPATH(坑爹的官网上没提...),见上面文字描述。否则,您会遇到“GOPATH”没设置之类的错误。
3.2 第二个坑比较那个啥...一步步讲:
首先,按照官网
$ go get github.com/astaxie/beego
$ go get github.com/beego/bee
Windows下在命令行执行即可,在哪个目录都没所谓。
执行 go get github.com/astaxie/beego 出错了,说是SSL认证问题,超时云云... 根源在git设置上。
git命令行里 执行 $ git config --global http.sslVerify false
然后,再次 git config --global http.sslVerify false,没报错,过了几分钟,执行完毕。
切换目录到 D:\Go\GoDev\src\github.com\astaxie\beego,一大堆文件目录都下来了。说明git checkout 完毕。
接下来,继续 go get github.com/beego/bee,几分钟成功。
如果你愿意,再追加设置一个PATH环境变量 %GOPATH%/bin; (否则按照官网执行 bee new hello,会出现个无法识别bee的错误,其实也算一个坑...)
设置完环境变量,记得重新开命令行窗口哦~
命令行:
cd %GOPATH%\src\
bee new hello
为了避免端口冲突,猫哥本地的8080端口已经给了Jenkins。委屈后来的Beego,用8099吧。改 %GOPAT%\src\hello\conf\app.conf里面内容httpport = 8099。
命令行:
bee run hello
打开浏览器,输入 http://localhost:8099/
出现下面网页,说明Beego安装配置完毕。
文章图片
潜在的一个坑 —— 别用git直接checkout,必须用go get ...
4. 写个Beego的Hello World
在 %GOPATH%\scr\hello 路径下,编写hello.go 文件,内容:
package mainimport (
"github.com/astaxie/beego"
)type MainController struct {
beego.Controller
}func (this *MainController) Get() {
this.Ctx.WriteString("hello Beego's world")
}func main() {
beego.Router("/", &MainController{})
beego.Run()
}
切记:别改括号位置,不管是大括号、小括号,否则...
又一个坑出现了(纯看官网文档会让你很疑惑...):
1) 把原有的hello.exe 改个名字或者拷贝到别处。
2) 编译 go build-o hello.exe hello.go
3) 运行 .\hello.exe
打开浏览器,输入 http://localhost:8099/出现了一行 Hello Beego's World!
到此完毕!!!
【后记】都是自己遇到解决问题的过程,以飨大家!
【Windows7配置Go和Beego】参考资料: http://beego.me/quickstart
??
推荐阅读
- Go|Docker后端部署详解(Go+Nginx)
- GO|GO,GO,GO!
- Go成长之路|go中判断空字符串、nil和len(t)的用法
- go编译tools
- go grpc安装与使用
- goroutine 调度原理
- Go|Go进阶之路——复杂类型
- Go进阶之路——变量
- Go进阶之路——流程控制语句