GoFrame

GF(Go Frame)是一款模块化、高性能、生产级的Go基础开发框架。实现了比较完善的基础设施建设以及开发工具链,提供了常用的基础开发模块,如:缓存、日志、队列、数组、集合、容器、定时器、命令行、内存锁、对象池、配置管理、资源管理、数据校验、数据编码、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、模板引擎等等,支持热重启、热更新、域名绑定、TLS/HTTPS、Rewrite等特性。

特点

发展

GoFrame开始得比较早,2011年始于北京一个智能物联网平台项目,那时还没有这么多物联网的现行标准,Go的标准库以及生态也未如此丰富。2017年的时候GF才开始发布测试版,20181024程序员节日的时候才发布v1.0正式版,为Go生态发展添砖加瓦。开源以来快速迭代、发展成长,广受开发者和企业的青睐,也有许多的开发者加入了贡献行列。GF原本是为开发团队设计的,因此她的开发效率和可维护性做得非常好,有着很高的代码质量以及丰富的单元测试和示例,并且GF是目前中文化文档做的最好的Golang开发框架。

Change Log

  1. 应多数开发者的要求,框架要求的最低Golang运行版本降级为了v1.11
  2. 新增GoFrame视频教程地址:
  3. 将不常用的guuid模块迁移到 github.com/gogf/guuid 作为社区模块维护,保持gf主仓库的轻量级。
  4. 新增guid模块,用于高效轻量级的唯一字符串生成:https://goframe.org/util/guid/index

tool chain

  1. 工具链更新:https://goframe.org/toolchain/cli
  2. 新增gf env命令,更优雅地查看当前Golang环境变量信息。
  3. 新增gf mod path命令,用于将当前go modules包拷贝到GOPATH中,以便使用原始的GOPATH方式开发项目。
  4. 对现有cli命令进行了一些改进,提高使用体验;预编译二进制版本在部分平台下提供了upx压缩,使得下载的文件更小。

container

  1. garray
  2. gchan
  3. glist
  4. gmap
  5. gset
  6. gtree
  7. gvar

database

  1. gdb
  2. gredis

net

  1. ghttp

  2. gipv4

encoding

  1. gjson
  2. gyaml

error

  1. gerror

os

  1. gcache

  2. genv

  3. gfile

  4. glog

  5. gres

  6. gsession

frame

  1. g

i18n

  1. gi18n

test

  1. gtest

text

  1. gstr

util

  1. gconv

  2. grand

  3. guid

  4. gutil

  5. gvalid

Bug Fix

  1. 修复gcompress的多文件zip压缩问题;
  2. 修复ghttp.Client获取返回的过期Cookie的问题;
  3. 修复gres.File对于http.File接口的实现细节;
  4. 修复garray.Pop*方法的边界问题;
  5. 修复gresReaddir方法参数为0时报错的问题;
  6. 其他一些修复:https://github.com/gogf/gf/issues?q=is%3Aissue+label%3Abug