溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Go語言的主要框架有哪些

發(fā)布時(shí)間:2022-01-18 10:29:01 來源:億速云 閱讀:418 作者:iii 欄目:數(shù)據(jù)庫

本篇內(nèi)容介紹了“Go語言的主要框架有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Google的Go語言(又名Golang)已成為編寫網(wǎng)絡(luò)服務(wù)和API強(qiáng)有力的選擇。它可以編譯成快速運(yùn)行的原生代碼,天生支持異步編程,還擁有廣泛和不斷擴(kuò)大的用戶群。

下面列出了網(wǎng)絡(luò)開發(fā)中用到的Go語言的主要框架。一些框架旨在簡(jiǎn)化用戶的使用,如API訪問點(diǎn)等。還有一些主要是為了處理全面的網(wǎng)站開發(fā),或者可以根據(jù)工作需要的組件擴(kuò)張或縮減開發(fā)。

Go網(wǎng)絡(luò)開發(fā)框架:Beego

在某些方面,Beego會(huì)讓人聯(lián)想到Python中包羅萬象的Django Web框架。它具備各種Web應(yīng)用程序的通用功能,總共有八個(gè)模塊,你可以根據(jù)需要選擇使用。除了大多數(shù)Web框架中常見的模型-視圖-控制器(model-view-controller,MVC)組件外,它還包括訪問數(shù)據(jù)庫的對(duì)象關(guān)系映射(object-relationship map,ORM)、內(nèi)置緩存處理程序、會(huì)話處理工具、日志記錄機(jī)制和常用的操作HTTP對(duì)象的庫。

Beego還有一個(gè)與Django很相似的地方是它的命令行工具。例如,你可以使用bee從頭創(chuàng)建Beego應(yīng)用或管理現(xiàn)有的應(yīng)用。

Go網(wǎng)絡(luò)開發(fā)框架:Gin

Go的第一個(gè)Web開發(fā)框架是Martini,但這個(gè)項(xiàng)目已經(jīng)停止了維護(hù)。然而,其他Go框架如雨后春筍般紛紛涌現(xiàn),它們使用Martini的基本思想,但是具有更好的性能和更多的功能。

Gin就是其中的一個(gè)項(xiàng)目。它使用修改過的的httprouter軟件包來提高速度,并為很多常見的場(chǎng)景提供處理程序,包括中間件、文件上傳、日志、將前端HTML組件綁定到后臺(tái)的數(shù)據(jù)結(jié)構(gòu)等等。其穩(wěn)定版API是1.x版本,所以未來的變更應(yīng)該不會(huì)破壞現(xiàn)有的Gin應(yīng)用。

Go Web開發(fā)框架:Gorilla

Gorilla的定位是“Web工具箱”,而并非MVC風(fēng)格的框架。它提供的庫可以幫忙解決Web服務(wù)編程中各種底層的問題,包括context(在請(qǐng)求期間保存狀態(tài))、mux(路由和調(diào)度),以及實(shí)現(xiàn)HTTP上的安全cookie、會(huì)話、websocket和RPC等功能。

Gorilla沒有提供模板、表單和其他前端部分。你需要自己準(zhǔn)備這些部分,你可以在其他框架中使用Gorilla的各個(gè)組件,或是在獨(dú)立組件中集成用Gorilla編寫的東西。

Go Web開發(fā)框架:Echo

Echo是另一個(gè)小框架,主要面向API。例如,它并沒有提供模板系統(tǒng),所以你可以根據(jù)需要使用Go自己的html/template。但是,Echo提供了幾種常常用于API的中間件模塊,例如基本的認(rèn)證和密鑰身份驗(yàn)證、壓縮、代理和日志記錄。

Echo還提供了大量實(shí)用的recipe,其中很多無需大費(fèi)周折就能實(shí)現(xiàn)。例如,如果你想使用Let’s Encrypt來管理HTTPS證書,那么可以設(shè)置一種recipe來自動(dòng)安裝這些證書。

Go Web開發(fā)框架:Iris

Iris的創(chuàng)建者稱其為“真正屬于Go的Express.js”,也就是說,它是JavaScript / Node.js的Web框架的Go語言版,它使用最小設(shè)計(jì),絕大部分功能都由插件提供。Iris提供基本的MVC功能,自帶對(duì)中間件、會(huì)話、路由和緩存的支持。

Go網(wǎng)絡(luò)開發(fā)框架:Revel

Ruby on Rails為MVC風(fēng)格的Web框架提供了一個(gè)通用模式,許多其他語言都仿照Ruby on Rails實(shí)現(xiàn)了自己的框架。Revel的創(chuàng)建者將其視作Rails的靈魂。

除了提供基本的MVC,Revel還允許你自由使用其他組件來滿足其他需求。你可以使用Go自己的原生html/template包,或自己提供。同樣,對(duì)于HTTP引擎,你也可以使用Go自己的或第三方提供的。緩存可以在本地的內(nèi)容中完成,也可以通過Memcached或Redis在后臺(tái)完成。但是,該框架沒有數(shù)據(jù)庫的原生ORM。

“Go語言的主要框架有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI