内容简介:v1.10.0 各位gfer久等了,较上一次发布时间过去已有两个多月了,这段时间GF也在不断地迭代改进,细节比较多,拟了个大概,以下是release log。 另外,GoFrame也参加了2019最受欢迎中国开源软件评选投票,明天就结...
v1.10.0
各位gfer久等了,较上一次发布时间过去已有两个多月了,这段时间GF也在不断地迭代改进,细节比较多,拟了个大概,以下是release log。
另外,GoFrame也参加了2019最受欢迎中国开源软件评选投票,明天就结束了,欢迎为GF投票啊:https://www.oschina.net/project/top_cn_2019 网页可以投一票,微信也可以投一票。
新特性
Web Server新特性:Session增加内置的多种Storage实现:- 增加日志组件单例对象,并优化配置管理:
- 常用的
container容器增加JSON数据格式的Marshal/UnMarshal接口实现: - 新增
guuid模块,用于通用的UUID生成:https://goframe.org/util/guuid/index
功能改进
net
ghttp- 改进请求流程处理性能;
Server增加对Logger日志对象的配置;Server开放了GetRouterMap方法,用于获得当前服务的路由列表信息,使得开发者可以更方便地实现自定义权限管理;Server配置管理优化;Client客户端对象进行了大量的改进工作;Client客户端对象增加多文件上传功能;Request对象增加GetError方法,用于获取当前处理错误;Request对象增加独立的视图对象及视图变量绑定功能,使得每个请求可以独立视图管理,也可以通过中间件切换请求对象的视图对象。默认情况下该功能关闭,视图解析时使用的是Server对象的视图对象;- 改建
Response对象的CORS功能; - 增加
Response.WriteTplDefault方法,用于解析并返回默认的模板内容; - 增加更多的单元测试用例;
- 其他改进;
gipv4/gipv6- 一些改进工作;
gtcp/gudp- 一些改进工作;
database
gdb- 大量细节改进工作;
- 去掉查询数据为空时的
sql.ErrNoRows错误返回,保留Struct/Structs/Scan方法在操作数据为空的该错误返回; - 调试模式开启时,输出的 SQL 语句改进为完整的带参数的SQL,仅作参考;
Where方法增加对gmap数据类型支持,包括顺序性的ListMap/TreeMap等等;- 查询缓存方法
Cache的缓存时间参数类型修改为time.Duration; - 修改
Record/Result的数据类型转换方法名称,原有的转换方法标记为deprecated; Record/Result查询结果类型增加IsEmpty方法,用于判断结果集是否为空;Record类型增加GMap方法,用于将查询记录转换为gmap类型;- 增加
Option/OptionOmitEmpty方法,用于输入参数过滤,包括Data参数及Where参数:https://goframe.org/database/gdb/empty - 增加字段排除方法
FieldsEx:https://goframe.org/database/gdb/senior - 增加日志功能特性:https://goframe.org/database/gdb/senior
- 改进数据库配置管理:https://goframe.org/database/gdb/config
- 增加大量单元测试;
gredis- 返回数据类型转换改进:https://github.com/gogf/gf/issues/415
- 完善单元测试;
- 其他改进;
os
gcache- 需要注意了:缓存的有效时间参数从
interface{}类型调整为了time.Duration类型,因此不再兼容之前的int参数类型,以保证更好的性能;
- 需要注意了:缓存的有效时间参数从
gfcache- 由于
gcache组件的缓存时间参数类型的变更,因此该组件的时间参数也变更为了time.Duration类型;
- 由于
gcfg- 增加
Available方法,用以判断配置是否有效;
- 增加
gfile- 增加
Chdir方法,用于工作目录切换;
- 增加
gtime- 增加
JSON数据格式的Marshal/UnMarshal接口实现;
- 增加
container
gmap- 增加
MapStrAny方法,用于常见map类型的转换; - 增加
MapCopy方法,用于底层map数据复制; - 增加
FilterEmpty方法,用于map空值过滤; - 增加
Pop/Pops方法,用于随机返回map中的数据项(并删除); - 增加
Replace方法,用于给定的map数据覆盖底层map数据项; - 完善单元测试;
- 其他改进;
- 增加
garray- 增加
Interfaces转换方法,返回[]interface{}类型; - 对 排序 数组增加
SetComparator方法用户自定义修改比较器; - 完善单元测试;
- 其他改进;
- 增加
glist- 增加
NewFrom方法,基于给定的[]interface{}变量创建链表; - 增加
Join方法,用于将链表项使用给定字符串连接为字符串返回; - 完善单元测试;
- 其他改进;
- 增加
gset- 增加
AddIfNotExistFunc/AddIfNotExistFuncLock方法; - 完善单元测试;
- 其他改进;
- 增加
gtree- 增加
Replace方法,用于更新现有树的数据项; - 其他改进;
- 增加
gtype- 一些细节改进工作,不一一列出;
- 完善基准测试、单元测试;
gvar- 增加
Ints/Uints类型转换方法; - 其他改进;
- 增加
crypto
gmd5- 小细节改进;
gsha1- 小细节改进;
text
gstr- 改进
SplitAndTrim方法,将SplitAndTrimSpace标记为deprecated; - 增加
TrimStr方法; - 完善单元测试;
- 其他改进;
- 改进
debug
gdebug- 增加
CallerFileLineShort/FuncPath/FuncName方法; - 其他改进;
- 增加
encoding
gbase64- 增加
EncodeToString/EncodeFile/EncodeFileToString/DecodeToString方法; - 完善单元测试;
- 增加
gjson- 完善单元测试;
frame
g/gins- https://goframe.org/frame/g/index
- 增加
CreateVar方法; - 完善单元测试;
- 其他改进;
util
gconv- 改进优化部分类型转换方法性能;
- 增加
Uints/SliceUint类型转换方法; - 增加
UnsafeStrToBytes/UnsafeBytesToStr高性能的类型转换方法; - 增加对
MapStrAny接口方法的支持,用于常见map类型的转换; - 其他改进;
gvalid- 改进对中国身份证号的识别校验功能;
- 增加
luhn银行卡号的校验功能;
grand- 一些性能改进工作;
Bug Fix
- 解决
WebSocket关闭时的hijacked报错问题:https://github.com/gogf/gf/issues/381 - 解决静态文件服务时大文件的内存占用问题;
- 修复前置
Nginx后默认情况下的Cookie域名设置问题; - 修复
gconv.Struct在属性为[]struct并且输入属性参数为空时的转换失败问题:https://github.com/gogf/gf/issues/405 - 其他一些修复;
GF(Go Frame)是一款模块化、高性能、生产级 Go 应用开发框架。提供了常用的核心开发组件,如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、资源管理、数据校验、数据编码、文件监控、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、 并发安全容器等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、配置管理、模板引擎等等,支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite等特性。
特点
- 模块化、松耦合设计;
- 模块丰富,开箱即用;
- 详尽的开发文档及示例;
- 完善的本地中文化支持;
- 致力于项目的通用方案;
- 更适合企业及团队使用;
- 更多请查阅文档及源码;
安装
go get -u -v github.com/gogf/gf
推荐使用 go.mod:
require github.com/gogf/gf latest
限制
golang版本 >= 1.10
架构
文档
开发文档:https://goframe.org
接口文档:https://godoc.org/github.com/gogf/gf
使用
package main
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write("Hello World")
})
s.Run()
}
协议
GF 使用非常友好的 MIT 开源协议进行发布,永久100%开源免费。
以上所述就是小编给大家介绍的《GoFrame v1.10.0 发布,Go 应用开发框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- MediaPipe:跨平台机器学习应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.3.0 发布,移动应用开发框架
- Ionic 4.4.0 发布,移动应用开发框架
- Ionic 4.6.0 发布,移动应用开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Text Processing in Python
David Mertz / Addison-Wesley Professional / 2003-6-12 / USD 54.99
Text Processing in Python describes techniques for manipulation of text using the Python programming language. At the broadest level, text processing is simply taking textual information and doing som......一起来看看 《Text Processing in Python》 这本书的介绍吧!