内容简介:新功能改进 框架目前 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 发布,移动应用开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Haskell School of Music
Paul Hudak、Donya Quick / Cambridge University Press / 2018-10-4 / GBP 42.99
This book teaches functional programming through creative applications in music and sound synthesis. Readers will learn the Haskell programming language and explore numerous ways to create music and d......一起来看看 《The Haskell School of Music》 这本书的介绍吧!