GoFrame v2.5 版本发布,企业级 Golang 开发框架
大家好啊,GoFrame
框架今天发布了v2.5.0
正式版本啦!👏👏👏👏
本次版本主要是对已有功能组件以及开发工具上的改进工作。其中,开发工具新增了gf gen ctrl
命令,以规范化定义、开发API接口,增加控制器、SDK的代码生成提高开发效率,以解决Golang
工程开发中接口层面的规范和效率问题,详情请参考:接口规范-gen ctrl。其他变更内容请参考以下change log
。Enjoy!
🍺🍺🍺🍺🍺🍺🍺🍺
Github ChangeLog
:https://github.com/gogf/gf/releases/tag/v2.5.0
完整代码变更: v2.4.0...v2.5.0,感谢本次所有的贡献开发者:
功能改进
gdb
- 改进
ORM SQL
日志记录,操作的字段按照数据表字段定义顺序进行操作。 - 改进
HOOK
方法实现,支持修改in
参数的Table
字段后修改执行的表名。 - 新增
AllAndCount/ScanAndCount
方法,用于实现便捷的分页查询场景。 - 新增
Model.WhereOrNot/WhereOrPrefixNot
条件方法。
- 改进
gi18n
- 改进支持中文(
Unicode
)作为转译的键名。
- 改进支持中文(
gclient
- 新增
Discovery
链式操作方法,用于设置本次请求的服务发现组件。
- 新增
ghttp
- 改进请求
Context
上下文处理,每次Context
的变更将会影响底层的http.Request
对象。以支持自定义HTTP Handler
的数据交互场景。 - 新增
Endpoints
配置项支持,用于自定义Server
的服务注册发现地址,而可以使用当前监听的地址。
- 改进请求
goai
- 改进参数校验识别,如果参数为必须参数,则在
OpenAPIv3
结果中进行标记。
- 改进参数校验识别,如果参数为必须参数,则在
gsel
- 修复
RoundRobin
实现中Endpoints
更新的锁机制问题。
- 修复
glog
- 新增
TimeFormat
配置,用于自定义日志输出的时间格式:日志组件-配置管理 - 改进
Rotation
实现,支持短运行程序的日志文件切分。
- 新增
gtag
- 新增
GetGlobalEnums
方法,用于获取全局注册的枚举类型。
- 新增
gutil
- 新增
DumpJson
方法,用于将任意类型变量按照JSON
格式化打印到终端,便于人工阅读。
- 新增
gvalid
- 新增
enums
校验规则,用于实现枚举类型的自动识别和校验:数据校验-校验规则
- 新增
社区组件
- 修复
contrib/registry/polaris
组件在多个服务端时的负载均衡问题。 - 改进
contrib/drivers/pgsql
在TableFields
返回的Index
字段序号统一从0
开始。 - 改进
contrib/nosql/redis
新增用户配置项支持。 - 改进
contrib/rpc/grpcx
组件,grpcx.Server
新增Endpoints
配置项支持,用于自定义服务注册发现的地址。 - 新增
contrib/sdk/httpclient
组件,用于本次版本新增的gf gen ctrl
命令生成的HTTP SDK
代码文件依赖库。 - 新增
contrib/trace/otlpgrpc
及contrib/trace/otlphttp
组件,用以实现基于OpenTelemetry
的链路跟踪统一对接组件。
开发工具
- 新增
gf gen ctrl
命令,用于编译api
定义目录,自动生成规范的controller
、HTTP SDK
代码:接口规范-gen ctrl - 改进
gf gen dao
命令,新增TypeMapping
特性,开发者可自定义数据表字段类型与生成的Go
实体数据结构属性类型映射,并且可以方便引入第三方包类型(如decimal
包以支持高精度类型):数据规范-gen dao - 改进
gf gen enums
命令,其中的Prefix
参数改为Prefixes
,以支持多个生成枚举类型的包前缀指定:枚举维护-gen enums - 改进
gf gen service
命令:- 生成的
service
文件中,增加方法注释生成。 - 当生成的
service
文件中存在import
冲突时,自动生成import alias
。
- 生成的
- 改进命令行封装,暴露
gfcmd.Command
类型,便于开发者可以继承扩展自定义命令行功能。 - 改进
gf docker
命令,将构建文件参数设置为非必须(考虑兼容),未来将会只用于Docker
构建,不再耦合二进制构建功能。如果有完整构建需求,建议未来结合gf build
功能共同使用。并更新项目工程模板的make image
命令,使用gf build+gf docker
命令实现。 - 改进
gf init
命令,修复在部分场景下初始化项目覆盖已存在的.git/.gitignore
目录及文件问题或权限报错问题。 - 改进
gf up
命令,修复在部分场景下的框架版本更新问题,以及在windows
系统下的下载安装问题。 - 改进
gf version
命令,修复在部分场景下的框架版本识别问题。 - 修复
gf gen pbentity
命令,生成的proto
文件实体数据结构的float32/float64/[]byte
类型修改为float/double/bytes
类型。 - 改进开发工具,部分命令可以不用显示配置
importPrefix
参数,如:gf gen dao/service

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RXThinkCMF 敏捷开发框架 Laravel8.x+Layui 版本 v3.4.0 发布
v3.4.0 更新内容: 1、Laravel5.8全新升级到Laravel8.x的版本; 2、重新设计软件架构表,增强扩展性; 3、优化功能模块,提升用户使用体验; 4、规范库库结构,完善相关注释说明; 5、优化页面结构,删除废弃代码; 6、新增设置用户状态功能; 7、新增设置用户状态功能; 8、新增设置用户状态路由规则; 9、优化重置用户密码功能; 10、修复近期用户反馈的问题; 一款 PHP 语言基于 Laravel8.x、Layui、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架,框架已集成了完整的RBAC权限架构和常规基础模块,同时支持多主题切换,可以根据自己喜欢的风格选择想一个的主题,实现了个性化呈现的需求;为了敏捷快速开发,提升研发效率,框架内置了一键CRUD代码生成器...
- 下一篇
Linux Mint 21.2 正式发布:更新 UI 和图标、支持触摸板手势
Linux Mint 21.2 已正式发布,代号‘Victoria’。新版本的底层仍是 Ubuntu 22.04 LTS,内核采用 Linux 5.15。 主要变化: 登录界面默认启用"Tap-to-click"功能 改进了登录界面密码字段中的键盘导航 更新软件管理器 UI,包括 Flatpaks 新的双色调文件夹图标 完全支持 HEIF 和 AVIF 文件 Xreader 支持预览 Adobe Illustrator 文档 基于gThumb 3.12.2 的 Pix 图像查看器 添加新壁纸 Linux Mint 21.2 的 Cinnamon 桌面版本还支持触摸板和触摸屏手势——由开源项目 TouchEgg 提供技术支持。不过默认情况下不启用手势支持。只要硬件兼容该项目,都可以启用。 下载地址:https://linuxmint.com/mirrors.php
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址