GoFrame v1.4.6 釋出,Go 應用開發框架
新特性
-
新增併發安全的高效能任務定時器模組
gtimer
, 類似於Java的Timer
,但是比較於Java的Timer
更加強大,內部實現採用靈活高效的分層時間輪
設計,被設計為可管理維護百萬級別以上數量的定時任務。gtimer
為GF
框架的核心模組之一,單元測試覆蓋率達到93.6%
: https://goframe.org/os/gtimer/index -
採用任務定時器
gtimer
重構gcron
定時任務模組,去掉第三方github.com/robfig/cron
包的使用。gcron
增加單例模式的定時任務: https://goframe.org/os/gcron/index# ; -
gconv
型別轉換模組支援對struct
結構體中的 指標屬性 轉換: https://goframe.org/util/gconv/struct ; -
gform
增加對資料庫型別的自動識別特性,這一特性在需要將查詢結果json
編碼返回時非常有用: https://goframe.org/database/orm/index -
Travis CI
增加對386
架構的自動化測試支援(目前已支援386
和amd64
);
新功能
-
ghttp
模組新增Exit
、ExitAll
、ExitHook
方法,用於HTTP請求處理流程控制: https://goframe.org/net/ghttp/service/object ; -
grand
模組增加Meet/MeetProb
方法,用於給定概率的隨機滿足判斷,增加別名方法N/Str/Digits/Letters
; -
gvalid
資料/表單校驗模組增加16X
及19X
手機號的校驗支援;
功能改進
-
gform
設定預設的資料庫連線池CONN_MAX_LIFE
引數值為30
秒; -
改進
glist
模組,提高約20%
左右效能,並增加若干連結串列操作方法; -
改進
gqueue
模組,提高約50
左右效能,並增加模組對select
語法的支援(使用Queue.C
): https://goframe.org/container/gqueue/index ; -
改進
gmlock
記憶體鎖模組,並完善單元測試用例: https://goframe.org/os/gmlock/index ; -
改進併發安全容器所有的模組,調整併發安全控制非必需引數
safe...bool
為unsafe...bool
; -
改進
gpool
物件複用模組,支援併發安全; -
更新
gkafka
模組的第三方依賴包; -
完善
ghttp
模組的單元測試用例;
Bug Fix
-
修復
gmd5
模組操作檔案時的檔案指標未關閉問題; -
修復
gcache
快取項過期刪除失效問題; -
其他修復;
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://goframe.org
介面文件: https://godoc.org/github.com/gogf/gf
使用
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() }
協議
GF
使用非常友好的 MIT 開源協議進行釋出,永久 100%
開源免費。