Go语言实战框架,GoFly全栈开发社区的Go快速开发框架简介与阿里服务器部署说明

简介: GoFly中后台框架永久开源可商用。api文档管理并一键生成api接口代码,一键生成 CRUD前后端代码, GoFly快速开发框架是一款基于Go语言的 Gin和 Vue3的Arco Design的快速后台开发框架,基于JWT接口验证和Auth验证的权限管理系统,附件管理系统,天生支持saas架构。可打包部署在阿里云Linux系统上。

一、前言

今天为大家推荐的Go框架,比较适合企业和个人用于实战项目,框架前后端质量比较注重实际应用。后端使用Gin优异性能,和前端Arco Design 优秀UI体验,两者结合可开发出,性能与交互都优秀的项目。社区团队们更加多年积累经验打磨出Go快速开发应用框架。同比其他框架开发速度更快,扩展性更强,资源复用性更高,框架约束开发规则更简单,特别是数据库操作更简单。

下面举例文章的增删查找操作:

1. 添加一条文章内容:

// 添加文章内容func (api*Article) Save(c*gin.Context) {
//获取post传过来的databody, _ :=ioutil.ReadAll(c.Request.Body)
varparametermap[string]interface{}
_=json.Unmarshal(body, &parameter)
addId, err :=model.DB().Table("article").Data(parameter).InsertGetId()
iferr!=nil {
results.Failed(c, "添加失败", err)
        } else {
results.Success(c, "添加成功!", addId, nil)
        }
}

2. 获取文章列表

// 获取文章列表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")
ifname!="" {
MDB.Where("name", "like", "%"+name+"%")
    }
list, err :=MDB.Limit(pageSize).Page(pageNo).Order("id desc").Get()
iferr!=nil {
results.Failed(c, err.Error(), nil)
    } else {
vartotalCountint64totalCount, _=MDB.Reset().Count()
results.Success(c, "获取文章列表", map[string]interface{}{
"page":     pageNo,
"pageSize": pageSize,
"total":    totalCount,
"items":    list}, nil)
    }
}

3. 删除文章

// 批量删除文章func (api*Article) Del(c*gin.Context) {
body, _ :=ioutil.ReadAll(c.Request.Body)
varparametermap[string]interface{}
_=json.Unmarshal(body, &parameter)
ids :=parameter["ids"]
res, err :=model.DB().Table("article").WhereIn("id", ids.([]interface{})).Delete()
iferr!=nil {
results.Failed(c, "删除失败", err)
    } else {
results.Success(c, "删除成功!", res, nil)
    }
}

从以上大家可以看到了,这个框架使用起来很简单,框架把发展繁琐的语法规则封装简化了,让开发代码简洁易读,复用性强。

二、优势简介

  1. 1.基于优秀成熟框架集成,保证系统文档可靠。集成的主要有Gin、Arco Design 、Mysql等主流框架技术。
  • 2.系统已集成开发常用基础功能,开箱即用,快速开始您业务开发,快人一步,比同行节省成本,
  • 3.框架提供其他开发者开发的插件,可快速安装或卸载,让开个资源共享,同意功能无需重复造车,一键安装即可使用。
  • 4.框架搭建了一键CRUD生成前后端代码,建数据库一键生成,节省您的复制粘贴时间,进一步为您节省时间。
  • 5.框架自带API接口文档管理,接口带有请求token等配置,添加接口只需配置路径和数据库或者备注,其部分信息如数据字段,系统自动根据数据库字段补齐,开发配套接口文档尽可能的为您节省一点时间。不需要其他接口文档工具复制粘贴,登录注册等时间。还有一个重点!接口文档可以一键生成接口CRUD的代码和通用的操作数据的CRUD接口,根据您的业务选择自己写接口代码、一键生成接口代码、不用写和生成代码调用通用接口。让写接口工作节省更多时间。
  • 6.前后端分离解耦业务,让前段人员与后端人协调开发,提高项目交付,并且可以开发出功能复杂度高的项目。
  • 7.前端用Vue3+TypeScript 的UI框架Arco Design,好用的UI框架前端可以设计出优秀且交互不错的界面,完善的大厂UI支持,前端开发效率也很高!
  • 8.框架的数据库操作也是极为简单,你可以去开发文档看看,用gofly框架开发数据库这块几乎是去文档复制粘贴就可以从前言介绍可以看到。

三、打包部署到阿里云(建议linux)上

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了!

、在线体验

1.GoFly全栈开发社区

2.Go快速后台系统开发框架完整代码包下载

3.Go快速后台系统开发文档

4.Demo-A端在线预览

5.Demo-B端在线预览

五、图片预览



下面是生成代码示例:

结束语

大家可以用来开发中小项目,例如:政府外包项目,企业外包,公司内部平台搭建等。框架实用性强,也适合初学者搭建实战型项目积累项目案例。

相关文章
|
6月前
|
Linux Go iOS开发
Go语言100个实战案例-进阶与部署篇:使用Go打包生成可执行文件
本文详解Go语言打包与跨平台编译技巧,涵盖`go build`命令、多平台构建、二进制优化及资源嵌入(embed),助你将项目编译为无依赖的独立可执行文件,轻松实现高效分发与部署。
1127 162
|
5月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
519 4
|
5月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
321 2
|
7月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
529 0
|
7月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
354 0
|
7月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
402 0
|
7月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
438 0
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
7月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
474 1

热门文章

最新文章

相关产品

  • 云服务器 ECS