GoFrame v1.4.6 发布,Go 应用开发框架

johng · · 898 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

# `v1.4.6` ## 新特性 1. 新增并发安全的高性能任务定时器模块`gtimer`, 类似于Java的`Timer`,但是比较于Java的`Timer`更加强大,内部实现采用灵活高效的`分层时间轮`设计,被设计为可管理维护百万级别以上数量的定时任务。`gtimer`为`GF`框架的核心模块之一,单元测试覆盖率达到`93.6%`:[https://goframe.org/os/gtimer/index](https://goframe.org/os/gtimer/index) 1. 采用任务定时器`gtimer`重构`gcron`定时任务模块,去掉第三方`github.com/robfig/cron`包的使用。`gcron`增加单例模式的定时任务:[https://goframe.org/os/gcron/index#](https://goframe.org/os/gcron/index#); 1. `gconv`类型转换模块支持对`struct`结构体中的**指针属性**转换:[https://goframe.org/util/gconv/struct](https://goframe.org/util/gconv/struct); 1. `gform`增加对数据库类型的自动识别特性,这一特性在需要将查询结果`json`编码返回时非常有用: [https://goframe.org/database/orm/index](https://goframe.org/database/orm/index) 1. `Travis CI`增加对`386`架构的自动化测试支持(目前已支持`386`和`amd64`); ## 新功能 1. `ghttp`模块新增`Exit`、`ExitAll`、`ExitHook`方法,用于HTTP请求处理流程控制: [https://goframe.org/net/ghttp/service/object](https://goframe.org/net/ghttp/service/object); 1. `grand`模块增加`Meet/MeetProb`方法,用于给定概率的随机满足判断,增加别名方法`N/Str/Digits/Letters`; 1. `gvalid`数据/表单校验模块增加`16X`及`19X`手机号的校验支持; ## 功能改进 1. `gform`设置默认的数据库连接池`CONN_MAX_LIFE`参数值为`30`秒; 1. 改进`glist`模块,提高约`20%`左右性能,并增加若干链表操作方法; 1. 改进`gqueue`模块,提高约`50`左右性能,并增加模块对`select`语法的支持(使用`Queue.C`): [https://goframe.org/container/gqueue/index](https://goframe.org/container/gqueue/index); 1. 改进`gmlock`内存锁模块,并完善单元测试用例:[https://goframe.org/os/gmlock/index](https://goframe.org/os/gmlock/index); 1. 改进并发安全容器所有的模块,调整并发安全控制非必需参数`safe...bool`为`unsafe...bool`; 1. 改进`gpool`对象复用模块,支持并发安全; 1. 更新`gkafka`模块的第三方依赖包; 1. 完善`ghttp`模块的单元测试用例; ## Bug Fix 1. 修复`gmd5`模块操作文件时的文件指针未关闭问题; 1. 修复`gcache`缓存项过期删除失效问题; 1. 其他修复; `GF(Go Frame)`是一款模块化、松耦合、轻量级、高性能的Go应用开发框架。支持热重启、热更新、多域名、多端口、多服务、HTTP/HTTPS、动态路由等特性 ,并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎、数据校验、分页管理、数据库ORM等等等等, 并且提供了数十个内置核心开发模块集,如:缓存、日志、时间、命令行、二进制、文件锁、内存锁、对象池、连接池、数据编码、进程管理、进程通信、文件监控、定时任务、TCP/UDP组件、 并发安全容器等等等等等等。 # 特点 * 模块化、松耦合设计; * 丰富实用的开发模块; * 详尽的开发文档及示例; * 完善的本地中文化支持; * 致力于项目的通用方案; * 更适合企业及团队使用; * 更多请查阅文档及源码; # 安装 ```html go get -u gitee.com/johng/gf ``` 或者 `go.mod` ``` require gitee.com/johng/gf latest ``` # 限制 ```shell golang版本 >= 1.9.2 ``` # 架构 <div align=center> <img src="https://gfer.me/images/arch.png"/> </div> # 文档 开发文档:[https://goframe.org](https://goframe.org) 接口文档:[https://godoc.org/github.com/gogf/gf](https://godoc.org/github.com/gogf/gf) # 使用 ```go 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() } ``` [更多..](https://gfer.me/start/index) # 协议 `GF` 使用非常友好的 [MIT](LICENSE) 开源协议进行发布,永久`100%`开源免费。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

898 次点击  
加入收藏 微博
1 回复  |  直到 2019-01-26 14:19:40
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传