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

  

新特性

  1. gform完成重构,以提高扩展性,并修复部分细节问题、完善单元测试用例(https://gfer.me/database/orm/index);

  2. WebServer路由注册新增分组路由特性(https://gfer.me/net/ghttp/group);

  3. WebServer新增Rewrite路由重写特性(https://gfer.me/net/ghttp/static);

  4. 增加框架运行时对开发环境的自动识别;

  5. 增加了Travis CI自动化构建/测试;

新功能

  1. 改进WebServer静态文件服务功能,增加SetStaticPath/AddStaticPath方法(https://gfer.me/net/ghttp/static);

  2. gform新增Filter链式操作方法,用于过滤参数中的非表字段键值对(https://gfer.me/database/orm/linkop);

  3. gcache新增Data方法,用以获取所有的缓存数据项;

  4. gredis增加GetConn方法获取原生redis连接对象;

功能改进

  1. 改进gformWhere方法,支持slice类型的参数,并更方便地支持in操作查询(https://gfer.me/database/orm/linkop);

  2. 改进gproc进程间通信数据结构,将pid字段从16bit扩展为24bit

  3. 改进gconv/gmap/garray,增加若干操作方法;

  4. 改进gview模板引擎中的date内置函数,当给定的时间戳为空时打印当前的系统时间;

  5. 改进gview模板引擎中,当打印的变量不存在时,显示为空(标准库默认显示为);

  6. 改进WebServer,去掉HANGUP的信号监听,避免程序通过nohup运行时产生异常退出问题;

  7. 改进gcache性能,并完善基准测试;

Bug Fix

  1. 修复gcache在非LRU特性开启时的缓存关闭资源竞争问题,并修复doSetWithLockCheck内部方法的返回值问题;

  2. 修复grand.intn内部方法在x86架构下的随机数位溢出问题;

  3. 修复gbinaryInt方法针对[]byte参数长度自动匹配造成的字节长度溢出问题;

  4. 修复gjson由于官方标准库json不支持map[interface{}]*类型造成的Go变量编码问题;

  5. 修复garray中部分方法的数据竞争问题,修复二分查找排序问题;

  6. 修复ghttp.Request.GetVar方法获取参数问题;

  7. 修复gform的数据库连接池不起作用的问题;


GF(Go Frame)是一款模块化、松耦合、轻量级、高性能的Go应用开发框架。支持热重启、热更新、多域名、多端口、多服务、HTTP/HTTPS、动态路由等特性 ,并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎、数据校验、分页管理、数据库ORM等等等等, 并且提供了数十个内置核心开发模块集,如:缓存、日志、时间、命令行、二进制、文件锁、内存锁、对象池、连接池、数据编码、进程管理、进程通信、文件监控、定时任务、TCP/UDP组件、 并发安全容器等等等等等等。

安装

go get -u gitee.com/johng/gf

或者 go.mod

require gitee.com/johng/gf latest

限制

golang版本 >= 1.9.2

架构

文档

https://gfer.me

使用

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()
}

猜你喜欢

转载自www.oschina.net/news/103029/goframe-1-3-8-released