1. 背景
最近在学习Golang,算起来也有一个月的时间了,记录一下学习历程。多亏了万能的B站,先是找了一个x锋教育的视频,简单过了一遍。接着是看书,看了一遍Ken Thompson本尊的Go程序设计语言和雨痕的Go语言学习笔记。最后2倍速,又看了一遍韩顺平老师Go语言视频。对于Go基础的学习,算是告一段落。
接着是GoWeb,跟着x硅谷的视频做了一个书城项目。因为老板催的急,书城项目没有看完,便开始了老板的一个Web项目,XX单位论文审核系统,主要是用于非涉密论文的审核工作。这个项目是老板根据自己需求想出来的一个项目,所以,对于需求,我和另一个小伙伴并不完全明朗,因为老板随时有可能增加或修改功能。
昨天组会,汇报了完成的0.01版本(不考虑任何内存,安全的情况下,仅仅大致功能实现),松了一口气。考虑到程序的松耦合,将来肯定是要用框架进行重构的,于是便有了这篇beego的学习笔记。
今天周六,难得的清闲,写下这段文字,给最近一周的疯狂加班留下点客观存在的记录。以免将来回首看这段不堪回首的代码时,留下 我是谁?我在哪里?这样的疑惑。
2. beego简介
说实话,实在纠结。决定学beego之前,也查阅过诸如,哪个框架是Go Web 最好用的框架?这样的问题。各路回答,面面俱到,特别有道理,看的我不知所措。最后,选择beego完全是因为,它的名字读起来,朗朗上口。
本篇笔记,仅为个人记录,只为增加印象,提高学习效率,难免会有错误。所以,这是官网。
3. 安装
3.1. 打开GO MODULE
国内访问外网可能受限,需要先设置一下代理,防止go get命令无效
go env 查看GO111module环境变量是否打开
go env -w GOPROXY=https://goproxy.io,direct 设置代理
go env -w GO111MODULE=on 开启GOMODULE
3.2 下载beego源码和bee工具
go get github.com/astaxie/beego 下载beego
go get github.com/beego/bee 下载bee工具
注意!!!如果不设置GOMODULE开启,下载bee工具后,%GOPATH%/bin目录下不会出现bee.exe。
3.3 验证安装成功
体验beego
package main
import (
"github.com/astaxie/beego"
)
type MainController struct {
beego.Controller
}
func (this *MainController) Get() {
this.Ctx.WriteString("hello world")
}
func main() {
beego.Router("/", &MainController{})
beego.Run()
}
查看bee版本:
bee version 不得不说,bee的logo真好看
4. 使用
4.1. 利用bee工具构建beego项目
bee new myBlog
4.2. 使用GoLand打开myBlog
我这里需要配置一下GoProxy:File->Go->Go Modules->Enable Go modules intergration。
添加GOPROXY = https://goproxy.io,direct
注意,go.mod文件中可能存在部分依赖包为红色,假设是github.com/smartystreets/goconvey红色!!!
解决办法是:
命令行中输入,go get 依赖名,如
go get github.com/smartystreets/goconvey
5. 说明
值得说明的是,我这里是使用GoModule来管理依赖包。接下来我可能会再写一篇关于GoModule的笔记,记录GoModule的用法。