内容简介:新功能改进 框架目前 69 个开发模块(不包括内部模块),原生代码 65302 行(不包含第三包依赖包),单元测试覆盖率达到77%; 新增gerror错误处理模块:https://goframe.org/errors/gerror/index 改进gcharset字符...
新功能改进
- 框架目前
69
个开发模块(不包括内部模块),原生代码65302
行(不包含第三包依赖包),单元测试覆盖率达到77%
; - 新增
gerror
错误处理模块:https://goframe.org/errors/gerror/index - 改进
gcharset
字符编码转换模块,支持更多的字符集:https://goframe.org/encoding/gcharset/index - 新增
gmutex
模块,基于channel
实现的高级互斥锁模块,支持更丰富的互斥锁特性:https://goframe.org/os/gmutex/index - 改进
glog
日志模块:- 新增日志异步输出特性:https://goframe.org/os/glog/async
- 新增
Flags
额外功能特性:https://goframe.org/os/glog/flags - 新增
Json
数据格式输出:https://goframe.org/os/glog/json - 新增自定义
Writer
接口特性:https://goframe.org/os/glog/writer - 修改
Backtrace
名称为Stack
,并改进调用堆栈输出格式; - 新增
Expose
方法暴露内部默认Logger
对象;
- 改进
gdb
数据库ORM模块:- 改进错误处理,当数据库操作没有查询到数据时,
error
返回sql.ErrNoRows
:https://goframe.org/database/gdb/error - 改进
Update
/Delete
方法支持Order BY
及LIMIT
特性; - 数据库链式操作及方法操作中,预处理变量参数支持
slice
参数:https://goframe.org/database/gdb/chaining/model - 修改
Priority
权重配置名称为Weight
; - 新增
Debug
配置,可配置开启/关闭调试特性:https://goframe.org/database/gdb/config - 新增
Offset
方法,该方法为可选链式操作方法,pgsql
数据库可直接通过Limit
方法第二个参数自动识别为Offset
语法; - 改进数据库动态切换特性,支持不同数据库类型的当前操作数据库切换;
- 改进简化配置文件结构:https://goframe.org/database/gdb/config
- 改进错误处理,当数据库操作没有查询到数据时,
- 改进
gconv
数据转换模块:- 对结构体对象转换时支持更多的标签:
gconv/c/json
; - 支持
*struct/[]struct/[]*struct
自动初始化创建对象/数组:https://goframe.org/util/gconv/struct - 新增
Strusts/StrctsDeep
方法,用于结构体数组的递归转换; - 新增
StructDeep
方法,用于对结构体对象的递归转换; - 新增
MapDeep
方法,用于对结构体属性的递归转换;
- 对结构体对象转换时支持更多的标签:
- 改进
ghttp
模块:- 改进
ghttp
模块的分组路由功能,完善逻辑处理细节,程序更加稳健; - 改进
ghttp.Request.Get*ToStruct
方法,支持params/param/p
标签,支持结构体递归转换,并且支持**struct
参数的对象自动初始化; - 改进
ghttp.CORSDefault
的跨域设置参数,AllowOrigin
参数调整为*
;
- 改进
- 改进
gvalid
数据校验模块:- 增加对校验标签
gvalid/valid/v
的支持; - 改进
CheckStruct
支持对结构体对象的递归校验:https://goframe.org/util/gvalid/checkstruct
- 增加对校验标签
- 改进
gtcp
TCP通信模块:- 改进通信包协议设计,更加轻量级高效:https://goframe.org/net/gtcp/conn/pkg
- 改进
TCP Server
增加对TLS
的支持:https://goframe.org/net/gtcp/tls - 增加
Server.Cloce
服务端关闭方法;
- 改进
gproc
模块的通信数据结构,并使用gtcp
的轻量级包协议重构消息发送逻辑; - 改进
gqueue
模块增加数据同步缓冲机制,解决大数据量下的内存占用及延迟问题; - 改进
gmlock
模块,使用gmutex
模块替换内部的互斥锁,增加更多的操作方法; - 改进
gaes
加密模块,增加CBC
模式的加密/解密方法: - 改进
garray.Range/SubSlice
方法,改进设计,提高性能; - 改进
gjson
/gparser
模块实现MarshalJSON
接口以实现自定义的JSON
数据格式转换; - 改进
crypto
分类下模块的方法返回值,增加error
错误变量返回,以保证更严谨的接口设计风格; - 改进
gbase64
模块,输入输出类型发生改变,并增加多个相关方法; - 改进
gflock
修改方法名UnLock
为Unlock
,新增IsRLocked
方法; - 新增
gfile.CopyFile/CopyDir
方法,用于文件及目录的复制; - 改进
gjson/gparser/gvar/gcfg
模块增加更多的类型转换方法; - 改进
gcache
模块,过期时间参数支持time.Duration
类型; - 新增
internal/structs
包,强大且便捷的结构体解析,并改进框架中所有涉及到结构体反射处理的模块; - 改进
gbinary
增加封装方法对BigEndian
的支持;
Bug Fix
- 修复
garray.Search
返回值问题; - 修复
garray.Contains
,garray.New*ArrayFromCopy
方法逻辑问题; - 修复
gjson.Remove
删除slice
参数问题; - 修复
gtree.AVLTree.Remove
方法返回值问题; - 修复
gqueue.Size
不准确的大小问题; - 修复
queue.Close
问题; - 修复
gcache.GetOrSetLockFunc
当回调函数返回nil
结果时的死锁问题; - 修复
gfsnotify.Add
方法默认递归监控添加失效问题; - 修复
gdb.Model.Scan
在某些参数类型下的失效问题;
注意事项
请注意以上粗体文字部分,如有使用,在您升级时可能会出现不兼容性。
GF(Go Frame)
是一款模块化、高性能、生产级 Go 应用开发框架。提供了常用的核心开发组件,如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、数据校验、数据编码、文件监控、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、 并发安全容器等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎等等,支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite等特性。
特点
- 模块化、松耦合设计;
- 模块丰富,开箱即用;
- 详尽的开发文档及示例;
- 完善的本地中文化支持;
- 致力于项目的通用方案;
- 更适合企业及团队使用;
- 更多请查阅文档及源码;
安装
go get -u github.com/gogf/gf
或者 go.mod
:
require github.com/gogf/gf latest
限制
golang版本 >= 1.10
架构
文档
开发文档:https://goframe.org
接口文档:https://godoc.org/github.com/gogf/gf
使用
package main import ( "github.com/gogf/gf/g" "github.com/gogf/gf/g/net/ghttp" ) func main() { s := g.Server() s.BindHandler("/", func(r *ghttp.Request) { r.Response.Write("Hello World") }) s.Run() }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- MediaPipe:跨平台机器学习应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.3.0 发布,移动应用开发框架
- Ionic 4.4.0 发布,移动应用开发框架
- Ionic 4.6.0 发布,移动应用开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Art of Computer Programming, Volumes 1-3 Boxed Set
Donald E. Knuth / Addison-Wesley Professional / 1998-10-15 / USD 199.99
This multivolume work is widely recognized as the definitive description of classical computer science. The first three volumes have for decades been an invaluable resource in programming theory and p......一起来看看 《The Art of Computer Programming, Volumes 1-3 Boxed Set》 这本书的介绍吧!