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

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

# `v1.5.8` ## 新特性 1. 主库从`gitee`迁移到了`github`( https://github.com/gogf/gf ),`gitee`作为镜像站,用于国内的代码贡献及ISSUE提交,迁移说明详见:https://goframe.org/upgradeto150 1. 对常用的`container`数组模块: `garray`做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/container/garray 1. 对常用的`container`集合模块: `gset`做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/container/gset 1. 对常用的`container`MAP模块: `gmap`做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/container/gmap 1. 对常用的字符串模块: `gstr`做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/text/gstr 1. 改进`gform`中对`struct`/`*struct`参数的支持,`*Insert/*Save/*Replace/*Update/Where/Data`方法的参数调整为`interface{}`类型,并支持任意类型的: `string/map/slice/struct/*struct`参数传递,具体请参考:https://goframe.org/database/orm/chaining 1. 新增/完善若干模块的单元测试用例, 包括:`gvalid`/`gregex`/`garray`/`gset`/`gmap`/`gstr`/`gconv`/`ghttp`/`gdb`; 1. 由于`gkafka`模块比较重,且不是框架核心模块,因此将该模块迁移到新的仓库中独立管理,并去掉相关依赖包:https://github.com/gogf/gkafka 1. 新增`greuseport`模块,用以实现TCP的`REUSEPORT`特性:https://godoc.org/github.com/gogf/gf/g/net/greuseport ## 新功能/改进 1. 去掉模板引擎内置变量中自动初始化`session`对象带来的内存占用问题; 1. `ghttp.Client`改进,增加若干方法,详见:https://goframe.org/net/ghttp/client 1. `ghttp`分组路由增加`COMMON`方法,用以注册常用的`HTTP METHOD`(`GET/PUT/POST/DELETE`)路由; 1. 更新框架依赖的`golang.org/x/sys`模块; 1. 改进`gform`的批量操作(`Batch*`操作)返回结果对象,可以通过该结果对象获得批量操作准确的受影响记录行数; 1. 将`gstr`/`gregex`模块从`util`分类迁移到了`text`分类目录下; 1. 将`gtest`模块从`util`分类迁移到了`test`分类目录下; 1. 完善`glog`方法注释; ## Bug Fix 1. 修复带点的邮件格式,用`gvalid.Check`的"`email`"规则不能匹配成功; 1. 修复`gvalid.Check`在`regex`规则下的检查失败问题; 1. 修复`gcron`模块定时规则中天和周不允许`?`符号的问题; 1. 修复`ghttp.Server`在部分异常情况下仍然返回`200`状态码的问题; 1. 修复`gfpool`模块中由于原子操作问题造成的高并发"内存泄露"问题; 1. 修复分组路由注册对象/控制时,方法`Index`的路由仅能通过`/xxx/index`访问的问题; 1. 修复模板引擎使用中,当不存在`config.toml`(即使没使用)配置文件时的报错问题; 1. 其他一些修复; `GF(Go Frame)`是一款模块化、松耦合、生产级Go应用开发框架。提供了常用的核心开发组件,如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、数据校验、数据编码、文件监控、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、 并发安全容器等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎等等,支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite等特性。 # 特点 * 模块化、松耦合设计; * 丰富实用的开发模块; * 详尽的开发文档及示例; * 完善的本地中文化支持; * 致力于项目的通用方案; * 更适合企业及团队使用; * 更多请查阅文档及源码; # 安装 ```html 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](https://goframe.org/upgradeto150) # 限制 ```shell golang版本 >= 1.9.2 ``` # 架构 <div align=center> <img src="https://goframe.org/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 ( "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() } ``` [更多..](https://goframe.org/start/index) # 协议 `GF` 使用非常友好的 [MIT](LICENSE) 开源协议进行发布,永久`100%`开源免费。

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

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

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