内容简介:新功能/改进 重构改进glog模块: 去掉日志模块所有的锁机制,改为无锁设计,执行性能更加高效 增加日志内容的异步输出特性:https://goframe.org/os/glog/async 增加日志输出内容的Json格式支持:https://goframe...
新功能/改进
- 重构改进
glog
模块:- 去掉日志模块所有的锁机制,改为无锁设计,执行性能更加高效
- 增加日志内容的异步输出特性:https://goframe.org/os/glog/async
- 增加日志输出内容的
Json
格式支持:https://goframe.org/os/glog/json - 增加
Flags
额外特性支持,包括文件行号打印、自定义时间格式、异步输出等特性控制:https://goframe.org/os/glog/flags - 增加
Writer
接口支持,便于开发者进行自定义的日志功能扩展,或者与第三方服务/模块对接集成:https://goframe.org/os/glog/writer - 修改
SetStdPrint
方法名为SetStdoutPrint
- 修改链式方法
StdPrint
方法名为Stdout
- 标记淘汰
*fln
日志输出方法,*f
方法支持自动的换行输出 - 新增更多的链式方法支持:https://goframe.org/os/glog/chain
- 重构改进
gmap
模块:- 增加更多数据格式支持:
HashMap
/ListMap
/TreeMap
- 简化类型名称,如
gmap.StringInterfaceMap
简化为gmap.StrAnyMap
- 改进
Map/Keys/Values
方法以提高性能 - 修改
BatchSet
/BatchRemove
方法名为Sets
/Removes
- 新增更多功能方法支持:https://goframe.org/container/gmap/index
- 增加更多数据格式支持:
- 改进
gtime
时间模块:- 增加并完善更多的类
PHP
时间格式支持 - 新增更多功能方法,如
FormatTo
/LayoutTo
等等 - 详见开发文档:https://goframe.org/os/gtime/index
- 增加并完善更多的类
- 改进
gdb
数据库模块:- 增加对继承结构体的数据转换支持:https://goframe.org/database/gdb/senior
- 新增
GetLastSql
方法,用以在调试模式下获取最近一条执行的 SQL 语句 - 其他的细节处理改进
- 改进
gtcp
通信模块:- 完善处理细节,提高通信性能;
- 增加
TLS
服务端/客户端通信支持:https://goframe.org/net/gtcp/tls - 增加简单协议支持,便于开发者封包/解包,并解决粘包/半包问题:https://goframe.org/net/gtcp/conn/pkg
- TCP服务端增加
Close
方法 - 更多细节查看开发文档:https://goframe.org/net/gtcp/index
- 改进
gconv
类型转换模块- 修改
gconv.TimeDuration
转换方法名称为gconv.Duration
- 新增
gconv.StructDeep
及gconv.MapDeep
方法,支持递归转换 - 详见开发文档:https://goframe.org/util/gconv/struct
- 修改
- 改进
ghttp
模块:- 日志输出增加
http/https
字段:https://goframe.org/net/ghttp/logs - 新增
ghttp.Server.SetKeepAlive
设置方法,用以开启/关闭KeepAlive
特性 - 增加
ghttp.Request.GetUrl
方法,用以获取当前完整的URL请求地址 ghttp.Client
客户端支持开发者自定义Transport
属性,ghttp.Client.Post
方法支持浏览器模式
:https://goframe.org/net/ghttp/client
- 日志输出增加
- 新增
gtree
树形数据结构容器支持:https://goframe.org/container/gtree/index - 改进
gudp
通信模块,具体请参考开发文档:https://goframe.org/net/gudp/index - 改进
gcfg
配置管理模块,所有Get*
方法增加默认值支持:https://goframe.org/os/gcfg/index gredis
模块新增DoVar
/ReceiveVar
方法以便于开发者对执行结果进行灵活的数据格式转换:https://goframe.org/database/gredis/indexgcache
模块BatchSet
/BatchRemove
方法名修改为Sets
/Removes
- 改进
gjson
/gparser
模块,增加更多方法:https://goframe.org/encoding/gjson/index - 改进
gfile.MainPkgPath
方法,以支持不同平台的开发环境; - 改进
grpool
协程池模块,提高执行性能:https://goframe.org/os/grpool/index - 改进
TryCatch
方法,当开发者不传递Catch
参数时,默认抑制并忽略错误的处理 - 改进
gmlock
模块,增加TryLockFunc
/TryRLockFunc
方法,并且为gmlock.Mutex
高级互斥锁对象增加TryLockFunc
/TryRLockFunc
方法 - 去除
gvar.VarRead
接口类型支持
Bug Fix
- 解决
gdb
模块与其他第三方ORM
模块同时使用的冲突; - 修复
gcron.AddOnce
方法的细节逻辑问题; - 修复内部
empty
模块的IsEmpty
方法对结构体属性的空校验错误; - 修复
gview
模板引擎的并发安全问题; - 修复
ghttp.Server
的SESSION初始化过期时间问题;
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() }
协议
GF
使用非常友好的 MIT 开源协议进行发布,永久100%
开源免费。
捐赠
如果您喜欢GF
,要不给开发者来杯咖啡吧! 请在捐赠时备注您的github
/gitee
账号名称。
感谢
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- MediaPipe:跨平台机器学习应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.3.0 发布,移动应用开发框架
- Ionic 4.4.0 发布,移动应用开发框架
- Ionic 4.6.0 发布,移动应用开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解LINUX网络技术内幕
Christian Benvenuti / 夏安、闫江毓、黄景昌 / 中国电力出版社 / 2009-6 / 128.00元
Linux如此的流行正是得益于它的特性丰富及有效的网络协议栈。如果你曾经惊叹于Linux能够实现如此复杂的工作,或者你只是想通过现实中的例子学习现代网络,《深入理解Linux网络内幕》将会给你指导。同其他O'Reilly的流行书籍一样,《深入理解Linux网络内幕》清楚地阐述了网络的基本概念,并指导你如何用C语言实现。虽然早先的 TCP/IP经验是有用的,但初学者通过《深入理解Linux网络内幕》......一起来看看 《深入理解LINUX网络技术内幕》 这本书的介绍吧!