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

更多..


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

查看所有标签

猜你喜欢:

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

The Art of Computer Programming, Volumes 1-3 Boxed Set

The Art of Computer Programming, Volumes 1-3 Boxed Set

Donald E. Knuth / Addison-Wesley Professional / 1998-10-15 / USD 199.99

This multivolume work is widely recognized as the definitive description of classical computer science. The first three volumes have for decades been an invaluable resource in programming theory and p......一起来看看 《The Art of Computer Programming, Volumes 1-3 Boxed Set》 这本书的介绍吧!

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

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具