第一個:Beego框架
遵化網站制作公司哪家好,找創新互聯!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。創新互聯從2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯。
Beego框架是astaxie的GOWeb開發的開源框架。Beego框架最大的特點是由八個大的基礎模塊組成,八大基礎模塊的特點是可以根據自己的需要進行引入,模塊相互獨立,模塊之間耦合性低。
相應的Beego的缺點就是全部使用時比較臃腫,通過bee工具來構建項目時,直接生成項目目錄和耦合關系,從而會導致在項目開發過程中受制性較大。
第二個:Gin框架
Gin是一個GOlang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本;具有快速靈活、容錯方便等特點,其實對于golang而言,web框架的依賴遠比Python、Java更小。
目前在很多使用golang的中小型公司中進行業務開發,使用Gin框架的很多,大家如果想使用golang進行熟練Web開發,可以多關注一下這個框架。
第三個:Iris框架
Iris框架在其官方網站上被描述為GO開發中最快的Web框架,并給出了多框架和多語言之前的性能對比。目前在github上,Iris框架已經收獲了14433個star和1493個fork,可見是非常受歡迎的。
在實際開發中,Iris框架與Gin框架的學習曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個:Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持擴展中間件,同時還支持靜態文件服務、Websocket以及支持制定綁定函數,制定相應渲染函數,并允許使用任意的HTML模版引擎。
近幾年誕生了很多微服務框架,比如JAVA的Spring Cloud、Dubbo;Golang的GoKit和GoMicro以及NodeJs的Seneca。幾乎每種主流語言都有其對應的微服務框架。
Go在微服務框架中有其獨特的優勢,至于優勢在哪,自行google。
1、GoKit框架
這是一個工具包的集合,可以幫助攻城獅構建強大、可靠和可維護的微服務。提供了用于實現系統監控和彈性模式組件的庫,例如日志、跟蹤、限流、熔斷等。
基于這個框架的應用程序架構由三個主要的部分組成:
傳輸層:用于網絡通信,服務通常使用HTTP或者gRPC等網絡傳輸協議,或者使用NATS等發布訂閱系統相互通信。
接口層:是服務器和客戶端的基本構建塊。每個對外提供的接口方法都會定義為一個Endpoint,一遍在服務器和客戶端之間進行網絡通信,每個端點使用傳輸層通過HTTP或gRPC等具體通信模式對外提供服務
服務成:具體的業務邏輯實現
2、GoMicro框架
這是一個基于Go語言實現的插件化RPC微服務框架。提供了服務發現、負載均衡、同步傳輸、異步通信以及事件驅動等機制,嘗試簡化分布式系統之間的通信,讓開發者更專注于自身業務邏輯的開發。
GoMicro的設計哲學是可插拔的架構理念,提供了可快速構建系統的組件,并且可以根據自身的需求對GoMicro提供的默認實現進行定制。所有插件都可在倉庫github.com/micro/go-plugins 中找到。
1.先安裝Go對應的開源Swagger相關的庫
go get?github.com/swaggo/swag/cmd/swag
go get github.com/swaggo/gin-swagger
go get?github.com/swaggo/files
go get?github.com/alecthomas/template
2.驗證是否安裝成功:swag -v
3.針對接口寫入注解
// @Summary 獲取多個標簽
// @Tags 標簽
// @Produce? json
// @Param name query string false "標簽名稱" maxlength(100)
// @Param state query int false "狀態" Enums(0, 1) default(1)
// @Param page query int false "頁碼"
// @Param page_size query int false "每頁數量"
// @Success 200 {object} model.TagSwagger "成功"
// @Failure 400 {object} errcode.Error "請求錯誤"
// @Failure 500 {object} errcode.Error "內部錯誤"
// @Router /api/v1/tags [get]
func (t Tag) List(c *gin.Context) {
}
// @Summary 新增標簽
// @Tags 標簽
// @Produce? json
// @Param name body string true "標簽名稱" minlength(3) maxlength(100)
// @Param state body int false "狀態" Enums(0, 1) default(1)
// @Param created_by body string false "創建者" minlength(3) maxlength(100)
// @Success 200 {object} model.Tag "成功"
// @Failure 400 {object} errcode.Error "請求錯誤"
// @Failure 500 {object} errcode.Error "內部錯誤"
// @Router /api/v1/tags [post]
func (t Tag) Create(c *gin.Context) {
}
// @Summary 更新標簽
// @Tags 標簽
// @Produce? json
// @Param id path int true "標簽ID"
// @Param name body string false "標簽名稱" minlength(3) maxlength(100)
// @Param state body int false "狀態 (0為未刪除、1為已刪除)" Enums(0, 1) default(1)
// @Param modified_by body string true "修改者" minlength(3) maxlength(100)
// @Success 200 {array} model.Tag "成功"
// @Failure 400 {object} errcode.Error "請求錯誤"
// @Failure 500 {object} errcode.Error "內部錯誤"
// @Router /api/v1/tags/{id} [put]
func (t Tag) Update(c *gin.Context) {
}
4.針對整個項目進行注解,直接在main方法寫入如下注解
//@title 項目名稱
//@version 1.0
//@description 這里是描述
func main() {
5.生成執行 swag init
這時會在我項目的docs文件夾下面生成docs.go、swagger.json、swagger.yaml三個文件
6.要在routers中進行默認初始化和注冊對應的路由:
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
同時要引用 _"blog-service/docs" ,不然會報錯
7.查看接口文檔 :
8.ok,完成
Revel Web開源框架
個高效的Go語言Web開發框架,?其思路完全來自 Java 的?Play Framework。
特點
熱編譯,簡單可選,同步(每個請求都創建自己的goroutine來處理。
Go語言Web框架:beego
一個用Go開發的應用框架,思路來自于tornado,路由設計來源于sinatra。
支持特性
MVC;
REST;
智能路由;
日志調試;
配置管理;
模板自動渲染;
layout設計;
中間件插入邏輯;
方便的JSON/XML服務;
go語言web框架beego安裝(go mod方式)_不忘初心,方得始終-CSDN博客
重要:將bee命令放到GOROOT/bin目錄下,這步很關鍵
cp bee /usr/local/go/bin/
注:或者可以將GOPATH/bin設置為環境變量
echo ’export PATH=" PATH"' ~/.bashrc
source ~/.bashrc
router路由下方法名要大寫,訪問權限
wq保存
生效環境變量: source /etc/profile
go build -o abc.exe可指定編譯后的文件名
Golang常用環境變量說明與設置詳解
環境變量GOBIN表示我們開發程序編譯后二進制命令的安裝目錄。
當我們使用go install命令編譯和打包應用程序時,該命令會將編譯后二進制程序打包GOBIN目錄,一般我們將GOBIN設置為GOPATH/bin目錄。
export GOBIN=$GOPATH/bin
Go get包管理mod
windows下默認項目路徑在go安裝目錄的src下(beego)
文章標題:go的語言框架 go語言框架寫商城后端
URL鏈接:http://vcdvsql.cn/article8/hhpsop.html
成都網站建設公司_創新互聯,為您提供網站設計公司、小程序開發、動態網站、Google、標簽優化、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯