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

新功能/改进

  1. 重构改进glog模块:
  2. 重构改进gmap模块:
    • 增加更多数据格式支持:HashMap/ListMap/TreeMap
    • 简化类型名称,如gmap.StringInterfaceMap简化为gmap.StrAnyMap
    • 改进Map/Keys/Values方法以提高性能
    • 修改BatchSet/BatchRemove方法名为Sets/Removes
    • 新增更多功能方法支持:https://goframe.org/container/gmap/index
  3. 改进gtime时间模块:
  4. 改进gdb数据库模块:
    • 增加对继承结构体的数据转换支持:https://goframe.org/database/gdb/senior
    • 新增GetLastSql方法,用以在调试模式下获取最近一条执行的SQL语句
    • 其他的细节处理改进
  5. 改进gtcp通信模块:
  6. 改进gconv类型转换模块
    • 修改gconv.TimeDuration转换方法名称为gconv.Duration
    • 新增gconv.StructDeepgconv.MapDeep方法,支持递归转换
    • 详见开发文档:https://goframe.org/util/gconv/struct
  7. 改进ghttp模块:
    • 日志输出增加http/https字段:https://goframe.org/net/ghttp/logs
    • 新增ghttp.Server.SetKeepAlive设置方法,用以开启/关闭KeepAlive特性
    • 增加ghttp.Request.GetUrl方法,用以获取当前完整的URL请求地址
    • ghttp.Client客户端支持开发者自定义Transport属性,ghttp.Client.Post方法支持浏览器模式https://goframe.org/net/ghttp/client
  8. 新增gtree树形数据结构容器支持:https://goframe.org/container/gtree/index
  9. 改进gudp通信模块,具体请参考开发文档:https://goframe.org/net/gudp/index
  10. 改进gcfg配置管理模块,所有Get*方法增加默认值支持:https://goframe.org/os/gcfg/index
  11. gredis模块新增DoVar/ReceiveVar方法以便于开发者对执行结果进行灵活的数据格式转换:https://goframe.org/database/gredis/index
  12. gcache模块BatchSet/BatchRemove方法名修改为Sets/Removes
  13. 改进gjson/gparser模块,增加更多方法:https://goframe.org/encoding/gjson/index
  14. 改进gfile.MainPkgPath方法,以支持不同平台的开发环境;
  15. 改进grpool协程池模块,提高执行性能:https://goframe.org/os/grpool/index
  16. 改进TryCatch方法,当开发者不传递Catch参数时,默认抑制并忽略错误的处理
  17. 改进gmlock模块,增加TryLockFunc/TryRLockFunc方法,并且为gmlock.Mutex高级互斥锁对象增加TryLockFunc/TryRLockFunc方法
  18. 去除gvar.VarRead接口类型支持

Bug Fix

  1. 解决gdb模块与其他第三方ORM模块同时使用的冲突;
  2. 修复gcron.AddOnce方法的细节逻辑问题;
  3. 修复内部empty模块的IsEmpty方法对结构体属性的空校验错误;
  4. 修复gview模板引擎的并发安全问题;
  5. 修复ghttp.Server的SESSION初始化过期时间问题;

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

限制

golang版本 >= 1.10

架构

文档

开发文档: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%开源免费。

捐赠

如果您喜欢GF,要不给开发者来杯咖啡吧! 请在捐赠时备注您的github/gitee账号名称。

感谢

JetBrains

猜你喜欢

转载自www.oschina.net/news/107324/goframe-1-7-0-released