系统软件 应用软件 图形软件 行业软件 安全相关 网络软件 聊天软件 影音软件 教育教学 驱动工具 编程开发 插件下载 源码下载 APP电脑版 其他类别

Go Frame开发框架官方版

v1.15.3

Go Frame开发框架官方版

  • 软件大小:1.28 MB
  • 软件语言:简体中文
  • 软件授权:共享软件
  • 软件类型:编程开发
  • 软件平台:WinAll
  • 更新时间:2022-01-27 15:11
  • 星级评分:4级
  • 软件官网:https://www.downza.com/
好评:50%顶一个
坏评:50踩一个

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 "主仓库分开的独立模块,不常用或严重依赖外部。

收起介绍展开介绍
  • 安卓合集
  • 软件合集
  • 浏览器
  • 电脑管家
  • 安卓游戏
更多 >> 安卓合集安卓合计

热门推荐

装机必备软件