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

johng-cn
 johng-cn
发布于 2018年12月25日
收藏 18

新特性

  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()
}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:GoFrame v1.3.8 发布,Go 应用开发框架
加载中
返回顶部
顶部