- 软件介绍
- 相关专题
- 下载地址
Go Frame开发框架简介
Go Frame是一个Go开发框架。如果你懂GO语言,可以通过这个软件开发新的程序。该软件提供了许多开发工具,支持init项目创建、构建交叉编译、gen代码生成等工具。您可以在软件中快速创建新的项目编辑代码。该软件作为一个框架,为喜欢通过GO设计新开发项目的用户提供更多帮助。该软件有几个核心组件。支持对象管理、调试模式、配置管理、资源管理、错误处理、日志组件、类型转换、数据验证、缓存管理等组件。通过这些组件,可以立即部署系统功能模块,设计用户界面模块,帮助用户开发新程序,适合会GO的开发者!
Go Frame开发框架软件功能
GF(Go Frame)是一个模块化、高能、企业级的基于Go的开发框架。
实现了较为完善的基础设施建设和开发工具链,提供了通用的基础开发模块。
如:缓存、日志、队列、数组、容器、定时器、命令行、内存锁、对象池、配置管理、资源管理、数据验证、数据编码、调度任务、数据库ORM、TCP/UDP组件、进程管理/通信等等。
并提供了一系列Web服务开发的核心组件,如Router、Cookie、Session、中间件、服务注册、模板引擎等。
支持热重启、热更新、插件域、TLS/HTTPS、Rewte等。
如果你是Go语言的新手,你可以将GoFrame与PHP中的laravel、Java中的SpngBoot或Python中的Django进行比较
Go Frame开发框架软件特色
模块化和松散耦合设计;
丰富的模块,开箱即用;
好用,轻松;
高代码质量和高单元测试覆盖率;
社团活跃,大牛谦逊、低调、脾气好;
详细的开发文档和示例;
提高当地华人的文化支持;
团队和企业使用的设计;
Go Frame开发框架教程
固定
去找github.com/gogf/gf
建议使用Go.mod:
要求github.com/gogf/gf最新
限制
Golang版本>:= 1.11
结构
Go Frame开发框架开发工具
从gf v1.9版本开始,提供了gf命令行开发辅助工具,将随着框架的发展不断完善。作为未来框架开发的一个重要部分,我们建议下载并安装预编译的二进制文件以供使用。该工具成功安装后,您可以通过gf或gf -h查看所有支持的命令。复杂的命令可以通过gf COMMAND或gf COMMAND -h查看,以获得更详细的帮助,例如:gf gen、gfgen-h。
工具初始化后,将自动打开Go Modules,并将反向代理地址设置为https://gopxy.cn。
当前的帮助文档简要介绍了gf cli v0.7.5版本作为示例。详细介绍请参考命令行帮助。这一章的内容可能会落后。有关最新的详细信息,请查看工具帮助。
版本视图
用法:
gf -v
gf版本
用于在编译时查看当前gf命令行工具的版本。示例:
初始化项目创建
用法:gf init NAME
我们可以使用init命令在当前目录下生成一个示例GF空框架项目,并给出项目名称参数。生成的项目目录结构仅供参考,可以根据业务项目的具体情况进行调整。生成的目录结构请参考新项目章节。
GF框架开发推荐统一使用go模块进行依赖包管理,所以空项目的根目录下也有一个go.mod文件。
新项目
为了方便朋友们使用GF框架快速创建一个基础项目,我们使用GF框架用一个简单的开发示例创建了一个简单的API服务项目,实现了以下示例接口:
1.用户注册
2.用户登录
3.用户注销
4.登录状态的判断
5./昵称唯一验证
包括以下功能:
1.允许跨域访问
2.包括许可验证
源代码仓库
由于粘贴的单据代码可能落后于仓库代码,建议下载仓库代码查看示例。以下章节主要介绍主要代码。
您可以通过开始运行本章末尾示例的curl命令行来测试它,也可以使用/document/postman目录中的postman配置来测试它。
项目结构
如果是Package源包项目,开发人员可以随意定义目录结构。
如果是业务类型项目,GoFrame推荐的Go项目目录结构如下:
在实践中,朋友可以根据实际情况添加或删除目录。
注意:如果需要提供静态服务,所有的静态文件都需要存储在公共目录中,只有这个目录中的静态文件可以从外部直接访问。不建议将程序的当前运行目录添加到静态服务中。
分层设计
GF推荐的代码分层设计。
控制器
控制器负责接收和响应客户端的输入输出,包括输入参数的过滤、转换和检查,输出数据结构的处理,调用实现业务逻辑处理。
控制器代码位于/app/api中。
服务逻辑
业务逻辑需要封装,尤其是一些可复用的业务逻辑,由控制器调用实现业务逻辑处理。
逻辑封装的代码位于/app/。
数据存取
数据访问代码层负责所有数据(数据表)的访问和关闭,并以面向对象的方式封装数据。
数据访问代码位于/app/dao中。
模型定义
模型代码层负责所有数据结构定义,包括所有输入和输出数据结构定义。
定义代码层只包含数据结构定义,但不包含任何方法定义。
模型定义的代码位于/app/model中。
模板解析
模板解析是可选的。在实践中,经常可以采用MVVM模式,例如使用vue/react等框架实现模板解析。如果使用经典的模板解析,可以通过GF框架强大的模板引擎来实现模板解析。
模板文件存储在/template中。
数据库设计
让我们创建一个简单的用户表进行演示。
https://github.com/gogf/gf-demos/blob/master/document/sql/.结构化查询语言
为了简化示例项目的接口实现复杂度,这里的密码没有加密,密码数据以明文形式存储。
套餐预约
根据有效Go的建议,包装名称应该简短、简洁、引人入胜。并且建议通过不同的导入路径来区分相同包名的包导入。
包设计
如果使用GF开发业务项目,基本上不需要考虑包名的设计,因为从v1.15版本开始,GF就推荐使用面向对象的打包。在项目中,app目录中只有四个包名,即api、dao、model等,每个包通过对象的方式封装特定的数据模型或业务逻辑。
控制器实现
结构化约束
控制器的输入输出受结构定义约束,推荐采用结构化的输入输出数据结构。示例:
虽然只有一个参数,并且采用了结构化定义,但是我们直接看结构就可以知道界面的输入参数格式,无需输入代码进行分析,大大提高了效率。
结构转变
结构转换可以使用GetStruct或Parse方法,其中Parse可以同时进行数据验证。结构转换方法的参数可以给定一个结构的空指针,结构对象将在内部自动初始化。如果转换失败(例如,提交参数不存在),将不会执行初始化。示例:
数据检查
客户提交的数据不可信,必须做数据验证。
您可以通过将V的标签绑定到结构来设置验证规则和定义的错误提示。示例:
数据传输参数
在接收、转换、验证和处理请求参数之后,控制器将所需的参数传递给被调用的对象方法,而不是直接将请求对象传递给。示例:
上下文变量
上下文变量
转到最后元数据由郭强创建,最后一次修改是在2020年12月25日。转到元数据的开始上下文变量指的是上下文。标准库的上下文,它是一个接口对象。主要用于goutine的异步IO控制和过程变量传输。
在Go的HTTP请求过程中,“全局变量”是没有办法获取请求参数的,只有上下文上下文变量传递给后续流程的方法,上下文变量包含所有需要传递的共享变量。并且这个上下文中的共享变量应该事先约定,并且经常作为对象指针存储。
结构定义
在这个例子中,我们的上下文变量的数据结构被定义为:
逻辑封装
因为上下文对象也与业务逻辑相关,所以我们需要通过对象封装上下文变量,以供其他模块使用。
上下文变量注入
上下文变量必须在请求开始时注入到请求流程中,以方便其他方法调用,因此我们使用中间件来实现它。
上下文变量用法
按照惯例,方法的第一个参数通常是为上下文保留的。接受上下文变量的上下文类型参数,尤其是层方法。
模块介绍
1.核心模块
` GoFrame '提供了一些基本的、常用的模块,简单易用、轻量级,对外依赖性保持很少。这些模块由“gf”主仓库详述。
2.社区模块
社区模块主要由社区贡献,其中大部分也由" gf "主仓库的贡献者提供,该仓库存储在gogf空间,与" gf "主仓库处于同一水平。一些社区模块是与" gf "主仓库分开的独立模块,不常用或严重依赖外部。
- 安卓合集
- 软件合集
- 浏览器
- 电脑管家
- 安卓游戏
软件排行榜
热门推荐
-
VMware InstallBuilder Enterprise破解版
v20.12.0 / 347 MB / 简体中文
-
Spark Studio官方版
v2.6.3 / 7.78 MB / 简体中文
-
Yearning SQL审核平台官方版
v2.3.2 / 10.2 MB / 简体中文
-
Protege官方版
v5.5 / 38.3 MB / 简体中文
-
HUAWEI LiteOS Studio官方版
v1.45.6 / 115 MB / 简体中文
-
Huawei LiteOS官方版
v5.0.0 / 87.6 MB / 简体中文
-
C语言代码实例助手官方版
v1.0 / 38.5 MB / 简体中文
-
idle python中文汉化版
v3.7 / 1.62 MB / 简体中文
-
Metabase官方版
v0.37.5 / 45.8 MB / 简体中文
-
编程猫硬件助手官方版
v1.4.1.0 / 39.3 MB / 简体中文
装机必备软件
-
word文档密码破解工具应用软件
-
冰点还原永久免费版系统软件
-
人生日历应用软件
-
一彩送货单管理系统应用软件
-
Process View系统软件
-
开心手机恢复大师其他类别
-
pdf文件阅读器应用软件
-
视频剪辑格式工厂应用软件
-
PhotoMetri应用软件
-
specinker应用软件
-
miwifi驱动驱动工具
-
海洋色音效助手影音软件
-
乐播投屏影音软件
-
seo外链助手网络软件
-
AES安全加密记事本安全相关





