今天为大家推荐的Go框架,比较适合企业和个人用于实战项目,框架前后端质量比较注重实际应用。后端使用Gin优异性能,和前端Arco Design 优秀UI体验,两者结合可开发出,性能与交互都优秀的项目。社区团队们更加多年积累经验打磨出Go快速开发应用框架。同比其他框架开发速度更快,扩展性更强,资源复用性更高,框架约束开发规则更简单,特别是数据库操作更简单。
例如
// 添加文章内容
func (api *Article) Save(c *gin.Context) {
//获取post传过来的data
body, _ := ioutil.ReadAll(c.Request.Body)
var parameter map[string]interface{}
_ = json.Unmarshal(body, ¶meter)
addId, err := model.DB().Table("article").Data(parameter).InsertGetId()
if err != nil {
results.Failed(c, "添加失败", err)
} else {
results.Success(c, "添加成功!", addId, nil)
}
}
// 获取文章列表
func (api *Article) Get_list(c *gin.Context) {
name := c.DefaultQuery("name", "")
pageNo, _ := strconv.Atoi( c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("pageSize", "10"))
MDB := model.DB().Table("article").Fields("id,name,image,des,price,weigh,status,visit,star,createtime")
if name != "" {
MDB.Where("name", "like", "%"+name+"%")
}
list, err := MDB.Limit(pageSize).Page(pageNo).Order("id desc").Get()
if err != nil {
results.Failed(c, err.Error(), nil)
} else {
var totalCount int64
totalCount, _ = MDB.Reset().Count()
results.Success(c, "获取文章列表", map[string]interface{}{
"page": pageNo,
"pageSize": pageSize,
"total": totalCount,
"items": list}, nil)
}
}
// 批量删除文章
func (api *Article) Del(c *gin.Context) {
body, _ := ioutil.ReadAll(c.Request.Body)
var parameter map[string]interface{}
_ = json.Unmarshal(body, ¶meter)
ids := parameter["ids"]
res, err := model.DB().Table("article").WhereIn("id", ids.([]interface{})).Delete()
if err != nil {
results.Failed(c, "删除失败", err)
} else {
results.Success(c, "删除成功!", res, nil)
}
}
从以上大家可以看到了,这个框架使用起来很简单,框架把发展繁琐的语法规则封装简化了,让开发代码简洁易读,复用性强。
1.打开项目根目录,在根目录路径cmd打开命令窗口,输入如下命令:
SET GOOS=linux
SET GOARCH=amd64
go build
等待几秒生成完成,在根目录下就有一个gofly文件,注意linux版生产的文件不带后缀。
2.安装Go环境,建议使用宝塔面板(安装方法区参考宝塔面板文档)
3.上传项目文件到服务器
上传文件有:config/settings.yml、runtime(空文件夹)、resource(资源文件),gofly(打包编译文件),如下图:
resource(资源文件)文件内文件有:staticfile(存放固定文件)、uploads(存放上传文件)、webadmin(SaaS后端管理前端打包后上传到这里)、webbusiness(SaaS上传业务端前端打包文件),如下图:
4.新建数据库并导入数据库文件
建号数据库后在config/settings.yml修改数据库配置。
5.在宝塔面板Go项目管理配置域名,最后启动项目,就OK了!
下面是生成代码示例:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。