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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 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端在线预览

五、图片预览



下面是生成代码示例:

结束语

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

相关文章
|
3月前
|
Go 开发者
Go语言包的组织与导入 -《Go语言实战指南》
本章详细介绍了Go语言中的包(Package)概念及其使用方法。包是实现代码模块化、复用性和可维护性的核心单位,内容涵盖包的基本定义、命名规则、组织结构以及导入方式。通过示例说明了如何创建和调用包,并深入讲解了`go.mod`文件对包路径的管理。此外,还提供了多种导入技巧,如别名导入、匿名导入等,帮助开发者优化代码结构与可读性。最后以表格形式总结了关键点,便于快速回顾和应用。
178 61
|
4月前
|
存储 Go
Go语言之接口与多态 -《Go语言实战指南》
Go 语言中的接口是实现多态的核心机制,通过一组方法签名定义行为。任何类型只要实现接口的所有方法即视为实现该接口,无需显式声明。本文从接口定义、使用、底层机制、组合、动态行为到工厂模式全面解析其特性与应用,帮助理解 Go 的面向接口编程思想及注意事项(如 `nil` 陷阱)。
141 22
|
3月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
184 18
|
3月前
|
测试技术 程序员 Go
Go语言测试简明指南:深度解读go test命令
总的来说,go test是 Go 语言中一个强而有力的工具,每个 Go 程序员都应该掌握并把它融入到日常的开发和调试过程中。就像是一个眼镜过滤出的太阳,让我们在宽阔的代码海洋中游泳,而不是淹没。用好它,让我们的代码更健壮,让我们的生产力更强效。
214 23
|
4月前
|
Go C++
Go语言方法与接收者 -《Go语言实战指南》
本文介绍了 Go 语言中方法的相关概念和用法。方法是绑定到特定类型上的函数,包含值接收者和指针接收者两种形式。值接收者不会改变原始数据,而指针接收者可修改原始数据,且在处理大型结构体时性能更优。文章详细对比了方法与普通函数的区别,并说明了选择指针接收者的原因,如修改原始值、提升性能及保持一致性。此外,Go 支持为任意自定义类型定义方法,不仅限于结构体。最后通过表格总结了方法的核心概念和使用场景。
140 34
|
3月前
|
测试技术 Go 开发者
Go语言常见接口设计技巧-《Go语言实战指南》
本文分享了 Go 语言中接口设计的最佳实践与技巧。首先介绍了接口设计原则,包括面向接口编程和接口隔离原则(定义最小化接口)。接着详细讲解了常用技巧:关注行为而非数据、优先返回接口隐藏实现细节、遵循“-er”命名惯例、使用接口组合提升灵活性、通过 Mock 接口简化单元测试,以及避免导出仅内部使用的接口。最后以表格形式总结了各技巧的核心要点,帮助开发者编写更清晰、可维护的代码。
128 11
|
4月前
|
Go
Go语言之匿名字段与组合 -《Go语言实战指南》
Go 语言通过匿名字段(embedding)实现类似继承的组合机制。匿名字段是在结构体中嵌套类型而不显式命名字段名,自动获取嵌入类型的字段和方法访问权限。支持方法提升、指针嵌入、字段冲突处理及多重组合,强调“组合优于继承”的设计理念,助力灵活高效的代码组织方式。
|
3月前
|
缓存 安全 Go
Go语言依赖管理与版本控制-《Go语言实战指南》
本章深入探讨Go语言中的依赖管理与版本控制,重点介绍Go Modules的使用方法。内容涵盖依赖管理的重要性、语义化版本控制(SemVer)、查看和管理依赖版本、主版本路径规则、常见操作场景、国内代理加速、依赖安全(go.sum文件)、版本冲突解决及版本锁定与回退等主题。通过学习,读者将掌握如何实现清晰、稳定且可重复构建的项目依赖管理。
|
4月前
|
JSON JavaScript 前端开发
Go语言JSON 序列化与反序列化 -《Go语言实战指南》
本文介绍了 Go 语言中使用 `encoding/json` 包实现 JSON 与数据结构之间的转换。内容涵盖序列化(`Marshal`)和反序列化(`Unmarshal`),包括基本示例、结构体字段标签的使用、控制字段行为的标签(如 `omitempty` 和 `-`)、处理 `map` 和切片、嵌套结构体序列化、反序列化未知结构(使用 `map[string]interface{}`)以及 JSON 数组的解析。最后通过表格总结了序列化与反序列化的方法及类型要求,帮助开发者快速掌握 JSON 数据处理技巧。
|
7月前
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。

热门文章

最新文章

相关产品

  • 云服务器 ECS