新聞中心
大家好啊,GoFrame 框架今天發(fā)布了 v2.5.0 正式版本啦!

樂亭ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
本次版本主要是對已有功能組件以及開發(fā)工具上的改進工作。其中,開發(fā)工具新增了 gf gen ctrl 命令,以規(guī)范化定義、開發(fā) API 接口,增加控制器、SDK 的代碼生成提高開發(fā)效率,以解決 Golang 工程開發(fā)中接口層面的規(guī)范和效率問題,詳情請參考:接口規(guī)范 - gen ctrl[1]。其他變更內(nèi)容請參考以下 change log。Enjoy!
Github ChangeLog:https://github.com/gogf/gf/releases/tag/v2.5.0[2]
完整代碼變更: v2.4.0...v2.5.0[3],感謝本次所有的貢獻開發(fā)者:
功能改進
- gdb
改進 ORM SQL 日志記錄,操作的字段按照數(shù)據(jù)表字段定義順序進行操作。
改進 HOOK 方法實現(xiàn),支持修改 in 參數(shù)的 Table 字段后修改執(zhí)行的表名。
新增 AllAndCount/ScanAndCount 方法,用于實現(xiàn)便捷的分頁查詢場景。
新增 Model.WhereOrNot/WhereOrPrefixNot 條件方法。
- gi18n
- 改進支持中文(Unicode)作為轉(zhuǎn)譯的鍵名。
- gclient
- 新增 Discovery 鏈式操作方法,用于設(shè)置本次請求的服務(wù)發(fā)現(xiàn)組件。
- ghttp
- 改進請求 Context 上下文處理,每次 Context 的變更將會影響底層的 http.Request 對象。以支持自定義 HTTP Handler 的數(shù)據(jù)交互場景。
- 新增 Endpoints 配置項支持,用于自定義 Server 的服務(wù)注冊發(fā)現(xiàn)地址,而可以使用當前監(jiān)聽的地址。
- goai
- 改進參數(shù)校驗識別,如果參數(shù)為必須參數(shù),則在 OpenAPIv3 結(jié)果中進行標記。
- gsel
- 修復(fù) RoundRobin 實現(xiàn)中 Endpoints 更新的鎖機制問題。
- glog
- 新增 TimeFormat 配置,用于自定義日志輸出的時間格式:日志組件 - 配置管理[4]
- 改進 Rotation 實現(xiàn),支持短運行程序的日志文件切分。
- gtag
- 新增 GetGlobalEnums 方法,用于獲取全局注冊的枚舉類型。
- gutil
- 新增 DumpJson 方法,用于將任意類型變量按照 JSON 格式化打印到終端,便于人工閱讀。
- gvalid
- 新增 enums 校驗規(guī)則,用于實現(xiàn)枚舉類型的自動識別和校驗:數(shù)據(jù)校驗 - 校驗規(guī)則[5]
社區(qū)組件
- 修復(fù) contrib/registry/polaris 組件在多個服務(wù)端時的負載均衡問題。
- 改進 contrib/drivers/pgsql 在 TableFields 返回的 Index 字段序號統(tǒng)一從 0 開始。
- 改進 contrib/nosql/redis 新增用戶配置項支持。
- 改進 contrib/rpc/grpcx 組件,grpcx.Server 新增 Endpoints 配置項支持,用于自定義服務(wù)注冊發(fā)現(xiàn)的地址。
- 新增 contrib/sdk/httpclient 組件,用于本次版本新增的 gf gen ctrl 命令生成的 HTTP SDK 代碼文件依賴庫。
- 新增 contrib/trace/otlpgrpc 及 contrib/trace/otlphttp 組件,用以實現(xiàn)基于 OpenTelemetry 的鏈路跟蹤統(tǒng)一對接組件。
開發(fā)工具
- 新增 gf gen ctrl 命令,用于編譯 api 定義目錄,自動生成規(guī)范的 controller、HTTP SDK 代碼:接口規(guī)范 - gen ctrl[6]
- 改進 gf gen dao 命令,新增 TypeMapping 特性,開發(fā)者可自定義數(shù)據(jù)表字段類型與生成的 Go 實體數(shù)據(jù)結(jié)構(gòu)屬性類型映射,并且可以方便引入第三方包類型(如 decimal 包以支持高精度類型):數(shù)據(jù)規(guī)范 - gen dao[7]
- 改進 gf gen enums 命令,其中的 Prefix 參數(shù)改為 Prefixes,以支持多個生成枚舉類型的包前綴指定:枚舉維護 - gen enums[8]
- 改進 gf gen service 命令:
- 生成的 service 文件中,增加方法注釋生成。
- 當生成的 service 文件中存在 import 沖突時,自動生成 import alias。
- 改進命令行封裝,暴露 gfcmd.Command 類型,便于開發(fā)者可以繼承擴展自定義命令行功能。
- 改進 gf docker 命令,將構(gòu)建文件參數(shù)設(shè)置為非必須(考慮兼容),未來將會只用于 Docker 構(gòu)建,不再耦合二進制構(gòu)建功能。如果有完整構(gòu)建需求,建議未來結(jié)合 gf build 功能共同使用。并更新項目工程模板的 make image 命令,使用 gf build+gf docker 命令實現(xiàn)。
- 改進 gf init 命令,修復(fù)在部分場景下初始化項目覆蓋已存在的.git/.gitignore 目錄及文件問題或權(quán)限報錯問題。
- 改進 gf up 命令,修復(fù)在部分場景下的框架版本更新問題,以及在 windows 系統(tǒng)下的下載安裝問題。
- 改進 gf version 命令,修復(fù)在部分場景下的框架版本識別問題。
- 修復(fù) gf gen pbentity 命令,生成的 proto 文件實體數(shù)據(jù)結(jié)構(gòu)的 float32/float64/[]byte 類型修改為 float/double/bytes 類型。
- 改進開發(fā)工具,部分命令可以不用顯示配置 importPrefix 參數(shù),如:gf gen dao/service
相關(guān)資料
[1]接口規(guī)范 - gen ctrl: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgoframe.org%2Fpages%2Fviewpage.action%3FpageId%3D93880327
[2]https://github.com/gogf/gf/releases/tag/v2.5.0: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgithub.com%2Fgogf%2Fgf%2Freleases%2Ftag%2Fv2.5.0
[3]v2.4.0...v2.5.0: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgithub.com%2Fgogf%2Fgf%2Fcompare%2Fv2.4.0...v2.5.0
[4]日志組件 - 配置管理: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgoframe.org%2Fpages%2Fviewpage.action%3FpageId%3D1114388
[5]數(shù)據(jù)校驗 - 校驗規(guī)則: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgoframe.org%2Fpages%2Fviewpage.action%3FpageId%3D1114367
[6]接口規(guī)范 - gen ctrl: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgoframe.org%2Fpages%2Fviewpage.action%3FpageId%3D93880327
[7]數(shù)據(jù)規(guī)范 - gen dao: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgoframe.org%2Fpages%2Fviewpage.action%3FpageId%3D3673173
[8]枚舉維護 - gen enums: https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgoframe.org%2Fpages%2Fviewpage.action%3FpageId%3D86187843本文轉(zhuǎn)載自微信公眾號「 程序員升級打怪之旅」,作者「王中陽Go」,可以通過以下二維碼關(guān)注。
轉(zhuǎn)載本文請聯(lián)系「 程序員升級打怪之旅」公眾號。
本文名稱:GoFramev2.5版本發(fā)布,企業(yè)級Golang開發(fā)框架
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/cdeppch.html


咨詢
建站咨詢
