新功能/改进
gcron 定时任务模块增加运行日志记录功能:https://goframe.org/os/gcron/indexgredis 增加全局分组配置功能,并增加更多的配置选项maxIdle/maxActive/idleTimeout/maxConnLifetime :https://goframe.org/database/gredis/indexgcfg 模块增加更多的默认配置文件检索路径,并且增加全局分组配置特性,增加Instance 单例方法:https://goframe.org/os/gcfg/indexgview 模块增加更多的默认配置文件检索路径,并且增加Instance 单例方法:https://goframe.org/os/gview/indexghttp 模块新功能及改进:
gdb 模块新功能及改进:
- 新增
Instance 单例管理方法; - 新增
Structs/Scan 链式操作方法,gdb.DB/TX 新增GetStructs/GetScan 方法,用于结果集struct /slice 映射转换:https://goframe.org/database/gdb/chaining - 新增
Safe 链式操作方法(默认非并发安全),用于链式安全控制:https://goframe.org/database/gdb/chaining Where 链式操作方法改进:
- 方法支持任意的
string/map/slice/struct/*struct 类型; - 逻辑调整,当链式操作中存在多个
Where 方法调用时,自动转换为And 条件; - 支持
slice 条件参数,常用在SELECT IN 查询中,例如:Where("uid IN(?)", g.Slice{1,2,3}) ; - 支持在
map 类型条件参数的key 中传递条件,例如:Where(g.Map{"uid>?", uid}) ;
gconv 及gvalid 模块改进并去掉对私有struct 方法属性的转换/校验;gconv.Map 转换方法新增对json tag : - , omitempty 的支持: https://goframe.org/util/gconv/mapgstr 模块新增 ReplaceI/ReplaceIByArray/ReplaceIByMap 大小写非敏感替换方法;gutil 模块增加IsEmpty 方法,用于判断给定变量是否为空(整型0, 布尔false, slice/map长度为0, 其他为nil的情况,判断为空),并增加快捷方法g.IsEmpty ;gutil 模块增加Export 方法,用于导出返回格式化打印的变量内容字符串,并增加快捷方法g.Export ;gspath 增加缓存及非缓存检索检索方法Search /SearchWithCache ;gjson 模块增加默认的UseNumber 功能支持;gmap 增加SetIfNotExistFunc/SetIfNotExistFuncLock 方法;- 迁移
greuseport 模块到新的仓库:https://github.com/gogf/greuseport - 大量的单元测试完善;
Bug Fix
- 修复
gqueue 模块的资源竞争问题; - 修复
gconv.GTime 转换失败问题; - 修复
gconv.String 在转换int 参数时字节溢出问题; - 修复
ghttp.Request 的HTTP Basic Auth 校验问题; - 修复
gxml 针对于非UTF-8 编码内容转换的并发安全问题; - 修复
gtime 部分Format (G &j )格式失效问题; - 修复
gudp.Conn 对象的RemoteAddr 获取客户端连接地址方法问题; - 修复
gmap/gcache 模块的GetOrSetFuncLock 方法,增加对回调方法返回值的nil 判断,只有非nil返回值才会被保存;
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
如果您是从旧版本1.x 升级到1.5.0 那么请参考:1.x升级到1.5.0
限制
golang版本 >= 1.9.2
架构
文档
开发文档: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% 开源免费。
|