gcron
gredis
maxIdle/maxActive/idleTimeout/maxConnLifetime
gcfg
Instance
gview
ghttp
CORS
TLSConfig
error
HTTP Code 302
Set-Cookie
SESSION ID
HTTPS
WebSocket
WSS
Request
Error
WebServer
gdb
Structs/Scan
gdb.DB/TX
GetStructs/GetScan
struct
slice
Safe
Where
string/map/slice/struct/*struct
And
SELECT IN
Where("uid IN(?)", g.Slice{1,2,3})
map
key
Where(g.Map{"uid>?", uid})
gconv
gvalid
gconv.Map
json tag
-
omitempty
gstr
ReplaceI/ReplaceIByArray/ReplaceIByMap
gutil
IsEmpty
g.IsEmpty
Export
g.Export
gspath
Search
SearchWithCache
gjson
UseNumber
gmap
SetIfNotExistFunc/SetIfNotExistFuncLock
greuseport
gqueue
gconv.GTime
gconv.String
int
ghttp.Request
HTTP Basic Auth
gxml
UTF-8
gtime
Format
G
j
gudp.Conn
RemoteAddr
gmap/gcache
GetOrSetFuncLock
nil
GF(Go Frame)是一款模块化、松耦合、生产级Go应用开发框架。提供了常用的核心开发组件,如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、数据校验、数据编码、文件监控、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、 并发安全容器等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎等等,支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite等特性。
GF(Go Frame)
go get -u github.com/gogf/gf
或者 go.mod:
go.mod
require github.com/gogf/gf latest
如果您是从旧版本1.x升级到1.5.0那么请参考:1.x升级到1.5.0
1.x
1.5.0
golang版本 >= 1.9.2
开发文档: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() }
更多..
GF 使用非常友好的 MIT 开源协议进行发布,永久100%开源免费。
GF
100%
评论删除后,数据将无法恢复
GoFrame v1.6.0 发布,Go 应用开发框架
新功能/改进
gcron定时任务模块增加运行日志记录功能:https://goframe.org/os/gcron/indexgredis增加全局分组配置功能,并增加更多的配置选项maxIdle/maxActive/idleTimeout/maxConnLifetime:https://goframe.org/database/gredis/indexgcfg模块增加更多的默认配置文件检索路径,并且增加全局分组配置特性,增加Instance单例方法:https://goframe.org/os/gcfg/indexgview模块增加更多的默认配置文件检索路径,并且增加Instance单例方法:https://goframe.org/os/gview/indexghttp模块新功能及改进:CORSHTTP(S)跨域请求特性: https://goframe.org/net/ghttp/corsTLSConfig配置功能;error返回值,当产生注册错误时直接终端打印错误/输出到日志文件;HTTP Code 302跳转时的Set-Cookie支持;SESSION ID的安全性检查;HTTPS的WebSocket支持(WSS):https://goframe.org/net/ghttp/websocket/indexRequest对象增加Error方法,用于输出自定义错误信息到WebServer错误日志中;gdb模块新功能及改进:Instance单例管理方法;Structs/Scan链式操作方法,gdb.DB/TX新增GetStructs/GetScan方法,用于结果集struct/slice映射转换:https://goframe.org/database/gdb/chainingSafe链式操作方法(默认非并发安全),用于链式安全控制:https://goframe.org/database/gdb/chainingWhere链式操作方法改进:string/map/slice/struct/*struct类型;Where方法调用时,自动转换为And条件;slice条件参数,常用在SELECT IN查询中,例如:Where("uid IN(?)", g.Slice{1,2,3});map类型条件参数的key中传递条件,例如:Where(g.Map{"uid>?", uid});gconv及gvalid模块改进并去掉对私有struct方法属性的转换/校验;gconv.Map转换方法新增对json tag:-,omitempty的支持: https://goframe.org/util/gconv/mapgstr模块新增ReplaceI/ReplaceIByArray/ReplaceIByMap大小写非敏感替换方法;gutil模块增加IsEmpty方法,用于判断给定变量是否为空(整型0, 布尔false, slice/map长度为0, 其他为nil的情况,判断为空),并增加快捷方法g.IsEmpty;gutil模块增加Export方法,用于导出返回格式化打印的变量内容字符串,并增加快捷方法g.Export;gspath增加缓存及非缓存检索检索方法Search/SearchWithCache;gjson模块增加默认的UseNumber功能支持;gmap增加SetIfNotExistFunc/SetIfNotExistFuncLock方法;greuseport模块到新的仓库:https://github.com/gogf/greuseportBug Fix
gqueue模块的资源竞争问题;gconv.GTime转换失败问题;gconv.String在转换int参数时字节溢出问题;ghttp.Request的HTTP Basic Auth校验问题;gxml针对于非UTF-8编码内容转换的并发安全问题;gtime部分Format(G&j)格式失效问题;gudp.Conn对象的RemoteAddr获取客户端连接地址方法问题;gmap/gcache模块的GetOrSetFuncLock方法,增加对回调方法返回值的nil判断,只有非nil返回值才会被保存;GF(Go Frame)是一款模块化、松耦合、生产级Go应用开发框架。提供了常用的核心开发组件,如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、数据校验、数据编码、文件监控、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、 并发安全容器等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎等等,支持热重启、热更新、多域名、多端口、多服务、HTTPS、Rewrite等特性。特点
安装
或者
go.mod:限制
架构
文档
开发文档: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() }更多..
协议
GF使用非常友好的 MIT 开源协议进行发布,永久100%开源免费。