bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

go語言寫web框架,go語言前端框架

golang原生http web進行簡約封裝

一般我們用Golang原生寫Web時,一般這樣寫

創新互聯是一家專業提供依蘭企業網站建設,專注與成都網站制作、網站設計、外貿網站建設、html5、小程序制作等業務。10年已為依蘭眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。

如果需要特定的GET,POST,PUT,DELETE處理. 我們需要這樣寫.

對以上方法操作進行了封裝.

不過最后還是推薦使用httprouter, 大名頂頂的Gin Web框架就是使用這個的. 自己寫的,純屬學習.

go語言web框架beego安裝(go mod方式)

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)

golang 有哪些比較穩定的 web 開發框架

第一個:Beego框架

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模版引擎。

Golang web 框架對比

由于 golang 提供了完善的net/http標準庫,基于該標準庫實現一個web框架的難度相比其他語言低了不少,所以go web框架簡直就是百花齊放。從老牌的revel和 beego ,到新出的 gin ,和 iris 等,而且還有一些類似于 chi 這種router。個人一般小項目,尤其是中間件需要暴露一些http接口的,基本就使用chi即可。

本次測試主要是gin iris echo 這三個框架。側重在于高性能,從并發和json序列化和反序列化兩個方面來測評,畢竟后臺項目側重的也就是這兩個方面。

為了選擇符合重IO的框架,現設定如下場景的demo,demo的具體要求如下:

gin:

iris:

echo:

由于要測試5種body樣本,4種場景,4個框架,因此把重點數據篩選出來(吞吐量、錯誤率和99%Line,重要性依次遞減),結果都繪制了圖形,方便比對查看。

綜合以上各個測試結果可以看出,gin以及iris都是非常優秀的框架,gin的優勢比其他稍微大點,iris次之,而echo相應差一點。

本次測試只是簡單測試了一下3個框架的并發和json相關。對比結果,不包括生態和工具的完善度等等。如果測試有什么不完善的地方,歡迎交流。

另外歡迎大家試用和star另外一個web框架 baa ,為了避嫌我沒有貼出baa的數據,性能測試處于gin之后和iris之間。

GoLang -- Gin框架

? 何為框架:

框架一直是敏捷開發中的利器,能讓開發者很快的上手并做出應用,甚至有的時候,脫離了框架,一些開發者都不會寫程序了。成長總不會一蹴而就,從寫出程序獲取成就感,再到精通框架,快速構造應用,當這些方面都得心應手的時候,可以嘗試改造一些框架,或是自己創造一個。

Gin是一個golang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本。具有快速靈活,容錯方便等特點。其實對于golang而言,web框架的依賴要遠比Python,Java之類的要小。自身的net/http足夠簡單,性能也非常不錯。框架更像是一些常用函數或者工具的集合。借助框架開發,不僅可以省去很多常用的封裝帶來的時間,也有助于團隊的編碼風格和形成規范。

(1)首先需要安裝,安裝比較簡單,使用go get即可

go get github.com/gin-gonic/gin

如果安裝失敗,直接去Github clone下來,放置到對應的目錄即可。

(2)代碼中使用:

下面是一個使用Gin的簡單例子:

package main

import (

"github.com/gin-gonic/gin"

)

func main() {

router := gin.Default()

router.GET("/ping", func(c *gin.Context) {

c.JSON(200, gin.H{

"message": "pong",

})

})

router.Run(":8080") // listen and serve on 0.0.0.0:8080

}

簡單幾行代碼,就能實現一個web服務。使用gin的Default方法創建一個路由handler。然后通過HTTP方法綁定路由規則和路由函數。不同于net/http庫的路由函數,gin進行了封裝,把request和response都封裝到gin.Context的上下文環境。最后是啟動路由的Run方法監聽端口。麻雀雖小,五臟俱全。當然,除了GET方法,gin也支持POST,PUT,DELETE,OPTION等常用的restful方法。

Gin可以很方便的支持各種HTTP請求方法以及返回各種類型的數據,詳情可以前往查看。

2.1 匹配參數

我們可以使用Gin框架快速的匹配參數,如下代碼所示:

冒號:加上一個參數名組成路由參數。可以使用c.Param的方法讀取其值。當然這個值是字串string。諸如/user/rsj217,和/user/hello都可以匹配,而/user/和/user/rsj217/不會被匹配。

瀏覽器輸入以下測試:

返回結果為:

其中c.String是gin.Context下提供的方法,用來返回字符串。

其中c.Json是gin.Context下提供的方法,用來返回Json。

下面我們使用以下gin提供的Group函數,方便的為不同的API進行分類。

我們創建了一個gin的默認路由,并為其分配了一個組 v1,監聽hello請求并將其路由到視圖函數HelloPage,最后綁定到 0.0.0.0:8000

C.JSON是Gin實現的返回json數據的內置方法,包含了2個參數,狀態碼和返回的內容。http.StatusOK代表返回狀態碼為200,正文為{"message": “welcome"}。

注:Gin還包含更多的返回方法如c.String, c.HTML, c.XML等,請自行了解??梢苑奖愕姆祷豀TML數據

我們在之前的組v1路由下新定義一個路由:

下面我們訪問

可以看到,通過c.Param(“key”)方法,Gin成功捕獲了url請求路徑中的參數。同理,gin也可以捕獲常規參數,如下代碼所示:

在瀏覽器輸入以下代碼:

通過c.Query(“key”)可以成功接收到url參數,c.DefaultQuery在參數不存在的情況下,會由其默認值代替。

我們還可以為Gin定義一些默認路由:

這時候,我們訪問一個不存在的頁面:

返回如下所示:

下面我們測試在Gin里面使用Post

在測試端輸入:

附帶發送的數據,測試即可。記住需要使用POST方法.

繼續修改,將PostHandler的函數修改如下

測試工具輸入:

發送的內容輸入:

返回結果如下:

備注:此處需要指定Content-Type為application/x-www-form-urlencoded,否則識別不出來。

一定要選擇對應的PUT或者DELETE方法。

Gin框架快速的創建路由

能夠方便的創建分組

支持url正則表達式

支持參數查找(c.Param c.Query c.PostForm)

請求方法精準匹配

支持404處理

快速的返回給客戶端數據,常用的c.String c.JSON c.Data

本文名稱:go語言寫web框架,go語言前端框架
URL分享:http://vcdvsql.cn/article8/hssgop.html

成都網站建設公司_創新互聯,為您提供品牌網站設計、網站策劃靜態網站建站公司Google、做網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設