v1.3.8
新特性
- 对
gform
完成重构,以提高扩展性,并修复部分细节问题、完善单元测试用例(https://gfer.me/database/orm/index); WebServer
路由注册新增分组路由特性(https://gfer.me/net/ghttp/group);WebServer
新增Rewrite
路由重写特性(https://gfer.me/net/ghttp/static);- 增加框架运行时对开发环境的自动识别;
- 增加了
Travis CI
自动化构建/测试;
新功能
- 改进
WebServer
静态文件服务功能,增加SetStaticPath
/AddStaticPath
方法(https://gfer.me/net/ghttp/static); gform
新增Filter
链式操作方法,用于过滤参数中的非表字段键值对(https://gfer.me/database/orm/linkop);gcache
新增Data
方法,用以获取所有的缓存数据项;gredis
增加GetConn
方法获取原生redis连接对象;
功能改进
- 改进
gform
的Where
方法,支持slice
类型的参数,并更方便地支持in
操作查询(https://gfer.me/database/orm/linkop); - 改进
gproc
进程间通信数据结构,将pid
字段从16bit
扩展为24bit
; - 改进
gconv
/gmap
/garray
,增加若干操作方法; - 改进
gview
模板引擎中的date
内置函数,当给定的时间戳为空时打印当前的系统时间; - 改进
gview
模板引擎中,当打印的变量不存在时,显示为空(标准库默认显示为
); - 改进
WebServer
,去掉HANGUP
的信号监听,避免程序通过nohup
运行时产生异常退出问题; - 改进
gcache
性能,并完善基准测试;
Bug Fix
- 修复
gcache
在非LRU特性开启时的缓存关闭资源竞争问题,并修复doSetWithLockCheck
内部方法的返回值问题; - 修复
grand.intn
内部方法在x86
架构下的随机数位溢出问题; - 修复
gbinary
中Int
方法针对[]byte
参数长度自动匹配造成的字节长度溢出问题; - 修复
gjson
由于官方标准库json
不支持map[interface{}]*
类型造成的Go变量编码问题; - 修复
garray
中部分方法的数据竞争问题,修复二分查找排序问题; - 修复
ghttp.Request.GetVar
方法获取参数问题; - 修复
gform
的数据库连接池不起作用的问题;
GoFrame
GF(Go Frame)
是一款模块化、松耦合、轻量级、高性能的Go应用开发框架。支持热重启、热更新、多域名、多端口、多服务、HTTP/HTTPS、动态路由等特性
,并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎、数据校验、分页管理、数据库ORM等等等等,
并且提供了数十个内置核心开发模块集,如:缓存、日志、时间、命令行、二进制、文件锁、内存锁、对象池、连接池、数据编码、进程管理、进程通信、文件监控、定时任务、TCP/UDP组件、
并发安全容器等等等等等等。
安装
go get -u gitee.com/johng/gf
或者
go.mod
require gitee.com/johng/gf latest
限制
golang版本 >= 1.9.2
架构

文档
使用
package main
import (
"gitee.com/johng/gf/g"
"gitee.com/johng/gf/g/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write("Hello World")
})
s.Run()
}
有疑问加站长微信联系(非本文作者)
