Golang语言Beego框架使用总结

作者: unvs 分类: PHP 发布时间: 2021-09-14 10:59 ė1549 views 6没有评论

一、godoc 命令启动本地golang web网站

命令窗口指向目录后,开启端口命令:
godoc -http=:8080

运行完成后打开浏览器输入网址:http://localhost:8080能看到网站,并查看帮助文档

如果提示godoc命令不存在等报错,则需要如下操作:

命令无效的原因是go 1.13 版本后 移除了godoc相关的一些命令,因此需手动安装
下面是安装使用该命令的方法:

第一步
进入命令行
输入下面两行代码
go env -w GO111MODULE=on
go env -w GOPROXY=”https://goproxy.io,direct”
这是配置相关代理

第二步
命令行输入,安装godoc
go get golang.org/x/tools/cmd/godoc
安装完成后即可使用godoc命令,生成文档

二、配置MYSQL数据库
main.go文件里也可以配置数据库
beego框架里一般有个models/db.go文件,通过orm类实例化数据库链接
命名格式如下:

dsn := dbuser + ":" +dbpassword +"@tcp("+dbhost+":"+dbport+")/"+dbname+"?charset=utf8&loc=Asia%2FShanghai"
orm.RegisterDataBase("default","mysql",dsn)

三、路由定义文件
一般有个路由routers/router.go文件定义路由

四、使用go搭建单页面的web服务器
package main

import (
“fmt”
“net/http”
“strings”
“log”
)
func sayhelloName(w http.ResponseWriter, r *http.Request) {
fmt.Println(r.Method)
r.ParseForm() //解析参数,默认是不会解析的
fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息
fmt.Println(“path”, r.URL.Path)
fmt.Println(“scheme”, r.URL.Scheme)
fmt.Println(r.Form["url_long"])
for k, v := range r.Form {
fmt.Println(“key:”, k)
fmt.Println(“val:”, strings.Join(v, “”))
}
fmt.Fprintf(w, “Hello astaxie!”) //这个写入到w的是输出到客户端的
}

func main() {
http.HandleFunc(“/hello/”, sayhelloName) //设置访问的路由
err := http.ListenAndServe(“:9090″, nil) //设置监听的端口
if err != nil {
log.Fatal(“ListenAndServe………..: “, err)
}
}

五、下载项目依赖包
go mod vendor

六、运行项目与文件命令
go run main.go

七、golang项目修改文件后,怎么做到程序自动编译,直接访问地址看到效果,不用每次都要go run
办法1:
因为目前项目用得beego框架,bee工具有自带热编译命令(bee工具也适用其他GO项目)

https://beego.me/docs/install/bee.md

第一步:定位到go目录,安装bee工具
>cd c:\go
>go get -u github.com/beego/bee/v2
第二部:
新建窗口,定位到go项目目录,执行如下命令
>bee run
完成,窗口保持,当项目文件有修改更新时,窗口会自动监控执行go run main.go,也就是完成了热编译

办法2:
通过fresh、gin进行热部署

https://blog.csdn.net/u014155085/article/details/106571256

出现疑难问题:
exec git:executable file not found in PATH
解决方案:1、可能是未安装git,及环境变量配置不正确,参考文章https://blog.csdn.net/Traditional_/article/details/113599736
1.打开“环境变量”设置界面方法一,在“我的电脑”上右击鼠标,在弹出菜单中选择“属性”。
2.在“系统”界面选择“高级系统设置”~“高级”~“环境变量”,从而进行环境变量配置。
2、检查Go语言依赖的代理地址(同上),我应该是执行了下面命令解决了上面热部署包安装的问题
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

办法3:
gowatch,同方法2类似
安装
go get github.com/silenceper/gowatch
进入项目程序目录
执行gowatch即可
如果源码有修改会自动重新编译
注:目录中不能有其它main包 会报错

办法4:
go get -u github.com/cosmtrek/air
进入main文件目录下 执行air
就会自动监听编译

本博文章基本上属于原创或收集整理,都是心血结晶。
欢迎转载分享,转载请注明出处,谢谢!
本文地址:Golang语言Beego框架使用总结

0

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ɣ回顶部