1.1 安装go的sdk
1.2 设置GOROOT,--go的安装路径 D:\Go
1.3 设置GOPATH, --go的各种包的存放地址,类似maven的仓库,安装后默认会指向电脑登陆用户的文件夹,改为 D:/godata 自己定义的一个文件夹
2.使用go的一个比较火的web框架 beego
2.1 可以通过beego官网 https://beego.me/ 查看相关api
2.2 通过 go get github.com/astaxie/beego 命令安装beego框架
2.3 通过 go get -u github.com/beego/bee 命令 安装bee工具
2.4 >cd %GOPATH%/src //GOPATH下的src目录
>bee new hello //用bee命令new一个hello项目
>cd hello //到hello文件夹
>bee run hello //用bee命令启动项目复制代码
3. 连接mysql数据库
3.1 用 go get github.com/astaxie/beego/orm 命令 安装beego的orm模块
3.2 用 go get github.com/go-sql-driver/mysql 命令 安装mysql的依赖
3.3 编写models.go
package models
import (
"github.com/astaxie/beego/orm"
)
//定义一个model
type imgStyle struct {
imgstyleid int
imgstylename string
}
//注册models
func init() {
orm.RegisterModel(new(imgStyle))
}复制代码
3.4 编写controller
package controllers
import (
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
type MainController struct {
beego.Controller
}
func init() {
orm.RegisterDriver("mysql", orm.DRMySQL)
orm.RegisterDataBase("default", "mysql", "root:1234@tcp(127.0.0.1:3306)/dawn?charset=utf8", 30)
}
func (c *MainController) Get() {
c.Data["Website"] = "beego.me"
c.Data["Email"] = "astaxie@gmail.com"
c.TplName = "index.tpl"
}
func (c *MainController) URLMapping() {
c.Mapping("StaticBlock", c.StaticBlock)
}
下边是使用注解详见api
// @router /staticblock [get]
func (this *MainController) StaticBlock() {
o := orm.NewOrm()
o.Using("default")
var maps []orm.Params
num, err :=o.Raw("SELECT * FROM imgstyle").Values(&maps)
if err == nil && num > 0 {
fmt.Println(maps[0]) // slene
}
this.Data["json"] = maps
this.ServeJSON()
}复制代码
注册路由
package routers
import (
"quickstart/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/", &controllers.MainController{})
beego.Include(&controllers.MainController{})
}复制代码
4. 这样一个特别简单的可以读写mysql数据库的goweb程序就完成。
5. 有编程基础的程序员,根据go beego的文档可以很快的学会go语言,并迅速的搭建起一个 go语言的web程序。
6. 刚开始学习go语言,想着是用go写后台,用vue写前段。目前正在了解go的view方面的知识,如果合适,就用beego直接开发全栈。