GoFrame v1.11 发布,Go 基础开发框架
GF(Go Frame)
https://goframe.org 是一款模块化、高性能、生产级的Go基础开发框架。实现了比较完善的基础设施建设,包括常用的核心开发组件, 如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、资源管理、数据校验、数据编码、文件监控、 定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、并发安全容器等等。 并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、配置管理、模板引擎等等, 支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite等特性。
GF
有着丰富的基础模块、完善的工具链、详尽的开发文档。开源近两年以来,GF
得到越来越多小伙伴的肯定和支持,从寂寂无名到现在被广泛应用于微服务、物联网、区块链、电商系统、银行系统等企业级的生产项目中,经历了百万级、千万级项目的考验,2019年度被码云gitee
评选为GVP
最有价值开源项目。GF
正在快速地成长中,目前保持着1-2个月迭代版本的发布规律,社区活跃,欢迎加入GF
大家庭。
最后,祝大家2020新年快乐,鼠年大吉!
新特性
- 新年新气象,官网文档大量更新:https://goframe.org/index
GF
工具链更新:https://goframe.org/toolchain/cli- 新增
gf run
热编译运行命令; - 新增
gf docker
Docker镜像编译命令; - 新增
gf gen model
强大的模型自动生成命令; gf build
命令增加对配置文件配置支持;- 大量命令行工具改进工作;
- 新增自动代理设置特性;
- 新增
- 数据库
ORM
新特性:- 增加
prefix
数据表前缀支持:https://goframe.org/database/gdb/config - 新增
Schema
数据库对象并改进数据库切换特性:https://goframe.org/database/gdb/chaining/schema - 新增
WherePri
方法,用于自动识别主键的条件方法:https://goframe.org/database/gdb/chaining/select - 文档及示例大量更新,覆盖95%以上的功能特性;
- 增加
功能改进
container
garray
- 新增
New*ArrayRange
方法,用于初始化创建指定数值范围的数组。 - 新增
Iterator*
方法,用于数组项元素回调遍历。 - 完善单元测试。
- 新增
gvar
- 改进
MapStrStr
、MapStrStrDeep
方法实现。
- 改进
net
ghttp
- 改进HTTP客户端,增加对提交参数的自动
Content-Type
识别功能。 Request
对象增加Parse
方法,用于快捷的对象转换即参数校验。Request.GetPost*
方法全部标记为deprecated
,统一客户端参数提交方式为QueryString
,Form
,Body
。- 去掉
Response
模板解析时的Get
/Post
内置变量,新增Query
,Form
,Request
内置变量:https://goframe.org/net/ghttp/response/template - 改进
Response.WriteJson*
及Response.WriteXml*
方法,增加对string
,[]byte
类型参数的支持。 Server
新增GetRouterArray
方法,用于向应用层暴露并获取Server
的路由列表。Server
新增Use
方法,该方法为BindMiddlewareDefault
的别名,用以全局中间件的注册。Server
新增RouteOverWrite
配置项,用于控制是否在注册路由冲突时自动覆盖,默认关闭并提示。Server
新增Graceful
配置项,用于在单服务场景下控制平滑重启特性的开启/关闭,默认开启。- 完善单元测试。
- 改进HTTP客户端,增加对提交参数的自动
gtcp
- 改进简单协议下的数据包发送接收功能。
- 将连接池默认的缓存过期时间
30
秒修改为10
秒。 - 完善单元测试。
database
-
gdb
- 新增
As
数据表别名方法。 - 改进数据表、字段的安全字符自动识别添加功能。
- 新增
DB
数据库对象切换方法。 - 新增
TX
链式操作事务支持方法。 - 完善单元测试。
os
- 新增
-
gcfg
- 新增
GetMapStrStr
方法。
- 新增
-
gcmd
- 增加参数解析的
strict
严格参数,默认严格解析,不存在指定参数/选项名称时则报错返回。
- 增加参数解析的
-
genv
- 改进
Remove
方法支持多个环境变量的删除。
- 改进
-
gfile
- 改进
TempDir
临时目录获取方法,在*nix
系统下默认为/tmp
目录。 - 新增
ReadLines
,ReadByteLines
方法,用以按行回调读取文件内容。 - 新增
Copy*
方法,用以文件/目录的拷贝,支持递归。 - 新增
Replace*
方法,用以目录下的文件内容替换,支持递归。 - 改进
Scan*
方法,用以检索并返回指定目录下的所有文件/目录,支持文件模式指定,支持递归。 - 完善单元测试。
- 改进
-
gproc
- 改进命令行运行方法。
- 改进
Shell
命令文件检索逻辑。 - 改进实验性的进程间通信设计。
-
gtime
- 将包方法以及
Time
对象的时间戳方法Second
,Millisecond
,Microsecond
,Nanosecond
标记为废除, 并新增Timestamp
,TimestampMilli
,TimestampMicro
,TimestampNano
替换。 - 需要注意的是以上修改可能和老版本存在兼容性问题。
- 将包方法以及
-
gview
- 解析功能、缓存设计改进。
- 新增
encode
,decode
HTML编码/解码模板函数。 - 新增
concat
字符串拼接模板函数。 - 新增
dump
模板函数,功能类似于g.Dump
方法。 - 新增
AutoEncode
配置项,用于自动转码输出的HTML
内容,常用于防止XSS
,默认关闭。需要注意的是该特性并不会影响include
内置函数: https://goframe.org/os/gview/xss - 单元测试完善。
crypto
gmd5
- 增加
MustEncrypt
,MustEncryptBytes
,MustEncryptString
,MustEncryptFile
方法。
- 增加
gsha1
- 增加
MustEncryptFile
方法
- 增加
encoding
gbase64
- 新增
MustEncodeFile
,MustEncodeFileToString
,MustDecode
,MustDecodeToString
方法。
- 新增
gjson
/gparser
- 新增
GetMapStrStr
方法。 - 新增
Must*
方法,用于指定数据格式的转换失败时产生panic
错误,而不会返回error
参数。
- 新增
util
gconv
- 改进
Convert
方法增加对[]int32
,[]int64
,[]uint
,[]uint32
,[]uint64
,[]float32
,[]float64
数据类型的转换支持。 - 改进
String
字符串转换方法对指针参数的支持。 - 改进
Map*
Map转换方法的代码结构及性能。 - 新增
Floats
,Float32s
,Float64s
对[]float32
,[]float64
类型转换方法。 - 新增
Ints
,Int32s
,Int64s
对[]int
,[]int32
,[]int64
类型转换方法。 - 新增
Uints
,Uint32s
,Uint64s
对[]uint
,[]uint32
,[]uint64
类型转换方法。 - 完善单元测试。
- 改进
frame
gins
- 所有的单例对象在获取失败时产生
panic
错误。
- 所有的单例对象在获取失败时产生
Bug Fix
- 增加对常见错误路由格式例如
/user//index
的兼容支持。 - 修复
gtcp
/gudp
在数据接收时的间隔时间单位问题。 - 修复
gfile
/gspath
/gfsnotify
包对文件的存在性判断不严谨问题。 - 修复
gproc.Kill
方法在windows
系统下的运行阻塞问题。 - 修复
gstr.TrimLeftStr
/gstr.TrimRightStr
在被替换字符串长度小于替换字符串长度时的数组溢出问题。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
巡云轻论坛系统 4.3 发布,新的富文本编辑器界面
v4.3 主要更新: 1、更换富文本编辑器界面,加入Twemoji表情包,文本样式操作体验改进。 2、富文本图片支持H5批量上传。 3、支持上传短视频文件。 4、话题支持嵌入第三方视频链接。 5、默认用户头像由用户名或昵称首字符生成。 6、调整用户动态界面。 7、设置页面提交的扩展名必须匹配配置文件预设的扩展名。 8、移动端话题内容页和问题内容页增加图片放大功能。 9、修复文件路径未正确过滤返回上一层目录的问题。 轻论坛系统简介 巡云轻论坛系统包含论坛、问答模块。系统采用JAVA+MYSQL架构,自适应手机端和电脑端,界面简洁,性能高效。数据库表结构设计使用分表方案,提高系统的负载能力。 后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。 演示网站:http://www.diyhi.com/cms.html页面可获取前后台演示地址、登录账号和密码 开源代码托管平台 码云:https://gitee.com/diyhi/bbs github:https://github.com/diyhi/bbs
- 下一篇
MetInfo 支付接口管理插件升级,新增余额统计功能
支付接口插件已可以在线升级,支持用户余额统计与筛选功能。 商业用户可以登录网站后台在线升级。 支付接口管理插件整合多种常用支付接口,是商城等其他具有支付功能模块的基础支撑模块,也可单独使用。 支付接口管理插件基本功能介绍: 1、支持微信扫描、H5、公众号支付,支付宝电脑端、手机端,银联B2C,银联B2B,Paypa支付接口; 2、支持货币符号自定设置; 3、支持多语言; 4、支持财务明细统计和余额查询等功能。 MetInfo只提供支付接口工具,用户需要自行联系各大支付接口提供平台申请自己的支付接口许可,因考虑到资金安全问题,系统暂不支持第三方代收支付接口。 详细介绍请参考:https://www.metinfo.cn/appstore/app10093.html MetInfo V7.0.0,1个网站内容轻松同步到10种终端展示(电脑、手机、平板、微官网、微信小程序、百度小程序、支付宝小程序、字节跳动小程序[今日头条、抖音]、360小程序、QQ小程序),适合专业建站! 下载地址:https://www.metinfo.cn/download/ 米拓企业建站系统主要用于搭建企业网站,采用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果