内容简介:或者
新功能/改进
- 重构改进
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/index -
gcache模块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 账号名称。
感谢
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Writing Apache Modules with Perl and C
Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95
Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!