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

  

新特性

  1. 主库从gitee迁移到了githubhttps://github.com/gogf/gf ),gitee作为镜像站,用于国内的代码贡献及ISSUE提交,迁移说明详见:https://goframe.org/upgradeto150
  2. 对常用的container数组模块: garray做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/container/garray
  3. 对常用的container集合模块: gset做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/container/gset
  4. 对常用的containerMAP模块: gmap做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/container/gmap
  5. 对常用的字符串模块: gstr做了大量改进/完善工作,新增大量常用方法,并完善单元测试用例及方法注释,详见API文档:https://godoc.org/github.com/gogf/gf/g/text/gstr
  6. 改进gform中对struct/*struct参数的支持,*Insert/*Save/*Replace/*Update/Where/Data方法的参数调整为interface{}类型,并支持任意类型的: string/map/slice/struct/*struct参数传递,具体请参考:https://goframe.org/database/orm/chaining
  7. 新增/完善若干模块的单元测试用例, 包括:gvalid/gregex/garray/gset/gmap/gstr/gconv/ghttp/gdb
  8. 由于gkafka模块比较重,且不是框架核心模块,因此将该模块迁移到新的仓库中独立管理,并去掉相关依赖包:https://github.com/gogf/gkafka
  9. 新增greuseport模块,用以实现TCP的REUSEPORT特性:https://godoc.org/github.com/gogf/gf/g/net/greuseport

新功能/改进

  1. 去掉模板引擎内置变量中自动初始化session对象带来的内存占用问题;
  2. ghttp.Client改进,增加若干方法,详见:https://goframe.org/net/ghttp/client
  3. ghttp分组路由增加COMMON方法,用以注册常用的HTTP METHOD(GET/PUT/POST/DELETE)路由;
  4. 更新框架依赖的golang.org/x/sys模块;
  5. 改进gform的批量操作(Batch*操作)返回结果对象,可以通过该结果对象获得批量操作准确的受影响记录行数;
  6. gstr/gregex模块从util分类迁移到了text分类目录下;
  7. gtest模块从util分类迁移到了test分类目录下;
  8. 完善glog方法注释;

Bug Fix

  1. 修复带点的邮件格式,用gvalid.Check的"email"规则不能匹配成功;
  2. 修复gvalid.Checkregex规则下的检查失败问题;
  3. 修复gcron模块定时规则中天和周不允许?符号的问题;
  4. 修复ghttp.Server在部分异常情况下仍然返回200状态码的问题;
  5. 修复gfpool模块中由于原子操作问题造成的高并发"内存泄露"问题;
  6. 修复分组路由注册对象/控制时,方法Index的路由仅能通过/xxx/index访问的问题;
  7. 修复模板引擎使用中,当不存在config.toml(即使没使用)配置文件时的报错问题;
  8. 其他一些修复;

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%开源免费。

猜你喜欢

转载自www.oschina.net/news/104784/goframe-1-5-8-released
今日推荐