内容简介:新功能改进 框架目前 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
- 增加对校验标签
- 改进
gtcpTCP通信模块:- 改进通信包协议设计,更加轻量级高效: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 发布,移动应用开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java Web服务:构建与运行
Martin Kalin / 任增刚 / 电子工业出版社 / 2009年11月 / 45.00元
本书以示例驱动的方式详尽地介绍了XML Web服务(JAX-WS)和RESTful Web服务(JAX-RS)二者所涵盖的Java相关API。 《Java Web服务:构建和运行》这本书以清晰、务实的方法讲述Web服务相关技术,提供了混合性的架构总结、完全可以运行的代码示例,以及编译、部署和执行应用程序的一些短小精悍的指令。学习本书,读者将掌握如何从零开始编写Web服务或将已有的服务整合到现......一起来看看 《Java Web服务:构建与运行》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
Base64 编码/解码
Base64 编码/解码