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端在线预览

五、图片预览



下面是生成代码示例:

结束语

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

相关文章
|
1天前
|
Go C语言
Go语言入门:分支结构
本文介绍了Go语言中的条件语句,包括`if...else`、`if...else if`和`switch`结构,并通过多个练习详细解释了它们的用法。`if...else`用于简单的条件判断;`if...else if`处理多条件分支;`switch`则适用于基于不同值的选择逻辑。特别地,文章还介绍了`fallthrough`关键字,用于优化重复代码。通过实例如判断年龄、奇偶数、公交乘车及成绩等级等,帮助读者更好地理解和应用这些结构。
27 14
|
15天前
|
存储 监控 算法
内网监控系统之 Go 语言布隆过滤器算法深度剖析
在数字化时代,内网监控系统对企业和组织的信息安全至关重要。布隆过滤器(Bloom Filter)作为一种高效的数据结构,能够快速判断元素是否存在于集合中,适用于内网监控中的恶意IP和违规域名筛选。本文介绍其原理、优势及Go语言实现,提升系统性能与响应速度,保障信息安全。
25 5
|
25天前
|
算法 安全 Go
Go语言中的加密和解密是如何实现的?
Go语言通过标准库中的`crypto`包提供丰富的加密和解密功能,包括对称加密(如AES)、非对称加密(如RSA、ECDSA)及散列函数(如SHA256)。`encoding/base64`包则用于Base64编码与解码。开发者可根据需求选择合适的算法和密钥,使用这些包进行加密操作。示例代码展示了如何使用`crypto/aes`包实现对称加密。加密和解密操作涉及敏感数据处理,需格外注意安全性。
41 14
|
25天前
|
Go 数据库
Go语言中的包(package)是如何组织的?
在Go语言中,包是代码组织和管理的基本单元,用于集合相关函数、类型和变量,便于复用和维护。包通过目录结构、文件命名、初始化函数(`init`)及导出规则来管理命名空间和依赖关系。合理的包组织能提高代码的可读性、可维护性和可复用性,减少耦合度。例如,`stringutils`包提供字符串处理函数,主程序导入使用这些函数,使代码结构清晰易懂。
70 11
|
25天前
|
存储 安全 Go
Go语言中的map数据结构是如何实现的?
Go 语言中的 `map` 是基于哈希表实现的键值对数据结构,支持快速查找、插入和删除操作。其原理涉及哈希函数、桶(Bucket)、动态扩容和哈希冲突处理等关键机制,平均时间复杂度为 O(1)。为了确保线程安全,Go 提供了 `sync.Map` 类型,通过分段锁实现并发访问的安全性。示例代码展示了如何使用自定义结构体和切片模拟 `map` 功能,以及如何使用 `sync.Map` 进行线程安全的操作。
|
29天前
|
监控 安全 算法
深度剖析核心科技:Go 语言赋能局域网管理监控软件进阶之旅
在局域网管理监控中,跳表作为一种高效的数据结构,能显著提升流量索引和查询效率。基于Go语言的跳表实现,通过随机化索引层生成、插入和搜索功能,在高并发场景下展现卓越性能。跳表将查询时间复杂度优化至O(log n),助力实时监控异常流量,保障网络安全与稳定。示例代码展示了其在实际应用中的精妙之处。
41 9
|
2月前
|
算法 安全 Go
Go 语言中实现 RSA 加解密、签名验证算法
随着互联网的发展,安全需求日益增长。非对称加密算法RSA成为密码学中的重要代表。本文介绍如何使用Go语言和[forgoer/openssl](https://github.com/forgoer/openssl)库简化RSA加解密操作,包括秘钥生成、加解密及签名验证。该库还支持AES、DES等常用算法,安装简便,代码示例清晰易懂。
64 12
|
28天前
|
弹性计算 数据挖掘 应用服务中间件
阿里云轻量应用服务器68元与云服务器99元和199元区别及选择参考
目前阿里云有三款特惠云服务器,第一款轻量云服务器2核2G68元一年,第二款经济型云服务器2核2G3M带宽99元1年,第三款通用算力型2核4G5M带宽199元一年。有的新手用户并不是很清楚他们之间的区别,因此不知道如何选择。本文来介绍一下它们之间的区别以及选择参考。
410 87
|
21天前
|
存储 弹性计算 应用服务中间件
阿里云轻量应用服务器出新品通用型实例了,全球26个地域可选
近日,阿里云再度发力,推出了首款全新升级的轻量应用服务器——通用型实例。这款服务器实例不仅标配了200Mbps峰值公网带宽,更在计算、存储、网络等基础资源上进行了全面优化,旨在为中小企业和开发者提供更加轻量、易用、普惠的云计算服务,满足其对于通用计算小算力的迫切需求。目前,这款新品已在全球26个地域正式上线,为全球用户提供了更加便捷、高效的上云选择。
136 27
|
12天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置,包括CPU+GPU、FPGA等,适用于人工智能、机器学习和深度学习等计算密集型任务。本文整理了阿里云GPU服务器的优惠价格,涵盖NVIDIA A10、V100、T4等型号,提供1个月、1年和1小时的收费明细。具体规格如A10卡GN7i、V100-16G卡GN6v等,适用于不同业务场景,详情见官方页面。
81 11

相关产品

  • 云服务器 ECS