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

栏目: 软件资讯 · 发布时间: 5年前

内容简介:新功能改进 框架目前 69 个开发模块(不包括内部模块),原生代码 65302 行(不包含第三包依赖包),单元测试覆盖率达到77%; 新增gerror错误处理模块:https://goframe.org/errors/gerror/index 改进gcharset字符...

新功能改进

  1. 框架目前 69 个开发模块(不包括内部模块),原生代码 65302 行(不包含第三包依赖包),单元测试覆盖率达到77%
  2. 新增gerror错误处理模块:https://goframe.org/errors/gerror/index
  3. 改进gcharset字符编码转换模块,支持更多的字符集:https://goframe.org/encoding/gcharset/index
  4. 新增gmutex模块,基于channel实现的高级互斥锁模块,支持更丰富的互斥锁特性:https://goframe.org/os/gmutex/index
  5. 改进glog日志模块:
  6. 改进gdb数据库ORM模块:
  7. 改进gconv数据转换模块:
    • 对结构体对象转换时支持更多的标签:gconv/c/json
    • 支持*struct/[]struct/[]*struct自动初始化创建对象/数组:https://goframe.org/util/gconv/struct
    • 新增Strusts/StrctsDeep方法,用于结构体数组的递归转换;
    • 新增StructDeep方法,用于对结构体对象的递归转换;
    • 新增MapDeep方法,用于对结构体属性的递归转换;
  8. 改进ghttp模块:
    • 改进ghttp模块的分组路由功能,完善逻辑处理细节,程序更加稳健;
    • 改进ghttp.Request.Get*ToStruct方法,支持params/param/p标签,支持结构体递归转换,并且支持**struct参数的对象自动初始化;
    • 改进ghttp.CORSDefault的跨域设置参数,AllowOrigin参数调整为*
  9. 改进gvalid数据校验模块:
  10. 改进gtcpTCP通信模块:
  11. 改进gproc模块的通信数据结构,并使用gtcp的轻量级包协议重构消息发送逻辑;
  12. 改进gqueue模块增加数据同步缓冲机制,解决大数据量下的内存占用及延迟问题;
  13. 改进gmlock模块,使用gmutex模块替换内部的互斥锁,增加更多的操作方法;
  14. 改进gaes加密模块,增加CBC模式的加密/解密方法:
  15. 改进garray.Range/SubSlice方法,改进设计,提高性能;
  16. 改进gjson/gparser模块实现MarshalJSON接口以实现自定义的JSON数据格式转换;
  17. 改进crypto分类下模块的方法返回值,增加error错误变量返回,以保证更严谨的接口设计风格;
  18. 改进gbase64模块,输入输出类型发生改变,并增加多个相关方法;
  19. 改进gflock修改方法名UnLockUnlock,新增IsRLocked方法;
  20. 新增gfile.CopyFile/CopyDir方法,用于文件及目录的复制;
  21. 改进gjson/gparser/gvar/gcfg模块增加更多的类型转换方法;
  22. 改进gcache模块,过期时间参数支持time.Duration类型;
  23. 新增internal/structs包,强大且便捷的结构体解析,并改进框架中所有涉及到结构体反射处理的模块;
  24. 改进gbinary增加封装方法对BigEndian的支持;

Bug Fix

  1. 修复garray.Search返回值问题;
  2. 修复garray.Containsgarray.New*ArrayFromCopy方法逻辑问题;
  3. 修复gjson.Remove删除slice参数问题;
  4. 修复gtree.AVLTree.Remove方法返回值问题;
  5. 修复gqueue.Size不准确的大小问题;
  6. 修复queue.Close问题;
  7. 修复gcache.GetOrSetLockFunc当回调函数返回nil结果时的死锁问题;
  8. 修复gfsnotify.Add方法默认递归监控添加失效问题;
  9. 修复gdb.Model.Scan在某些参数类型下的失效问题;

注意事项

请注意以上粗体文字部分,如有使用,在您升级时可能会出现不兼容性。

 

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

架构

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

文档

开发文档: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()
}

更多..


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创新者的解答

创新者的解答

【美】克莱顿•克里斯坦森、【加】迈克尔·雷纳 / 中信出版社 / 2013-10-10 / 49.00

《创新者的解答》讲述为了追求创新成长机会,美国电信巨子AT&T在短短10年间,总共耗费了500亿美元。企业为了保持成功记录,会面对成长的压力以达成持续获利的目标。但是如果追求成长的方向出现偏误,后果往往比没有成长更糟。因此,如何创新,并选对正确方向,是每个企业最大的难题。 因此,如何创新,并导向何种方向,便在于创新结果的可预测性─而此可预测性则来自于正确的理论依据。在《创新者的解答》中,两位......一起来看看 《创新者的解答》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具