共計 1716 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇內容介紹了“Go 語言的主要框架有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Google 的 Go 語言(又名 Golang)已成為編寫網絡服務和 API 強有力的選擇。它可以編譯成快速運行的原生代碼,天生支持異步編程,還擁有廣泛和不斷擴大的用戶群。
下面列出了網絡開發中用到的 Go 語言的主要框架。一些框架旨在簡化用戶的使用,如 API 訪問點等。還有一些主要是為了處理全面的網站開發,或者可以根據工作需要的組件擴張或縮減開發。
▌Go 網絡開發框架:Beego
在某些方面,Beego 會讓人聯想到 Python 中包羅萬象的 Django Web 框架。它具備各種 Web 應用程序的通用功能,總共有八個模塊,你可以根據需要選擇使用。除了大多數 Web 框架中常見的模型 - 視圖 - 控制器(model-view-controller,MVC)組件外,它還包括訪問數據庫的對象關系映射(object-relationship map,ORM)、內置緩存處理程序、會話處理工具、日志記錄機制和常用的操作 HTTP 對象的庫。
Beego 還有一個與 Django 很相似的地方是它的命令行工具。例如,你可以使用 bee 從頭創建 Beego 應用或管理現有的應用。
▌Go 網絡開發框架:Gin
Go 的第一個 Web 開發框架是 Martini,但這個項目已經停止了維護。然而,其他 Go 框架如雨后春筍般紛紛涌現,它們使用 Martini 的基本思想,但是具有更好的性能和更多的功能。
Gin 就是其中的一個項目。它使用修改過的的 httprouter 軟件包來提高速度,并為很多常見的場景提供處理程序,包括中間件、文件上傳、日志、將前端 HTML 組件綁定到后臺的數據結構等等。其穩定版 API 是 1.x 版本,所以未來的變更應該不會破壞現有的 Gin 應用。
▌Go Web 開發框架:Gorilla
Gorilla 的定位是“Web 工具箱”,而并非 MVC 風格的框架。它提供的庫可以幫忙解決 Web 服務編程中各種底層的問題,包括 context(在請求期間保存狀態)、mux(路由和調度),以及實現 HTTP 上的安全 cookie、會話、websocket 和 RPC 等功能。
Gorilla 沒有提供模板、表單和其他前端部分。你需要自己準備這些部分,你可以在其他框架中使用 Gorilla 的各個組件,或是在獨立組件中集成用 Gorilla 編寫的東西。
▌Go Web 開發框架:Echo
Echo 是另一個小框架,主要面向 API。例如,它并沒有提供模板系統,所以你可以根據需要使用 Go 自己的 html/template。但是,Echo 提供了幾種常常用于 API 的中間件模塊,例如基本的認證和密鑰身份驗證、壓縮、代理和日志記錄。
Echo 還提供了大量實用的 recipe,其中很多無需大費周折就能實現。例如,如果你想使用 Let’s Encrypt 來管理 HTTPS 證書,那么可以設置一種 recipe 來自動安裝這些證書。
▌Go Web 開發框架:Iris
Iris 的創建者稱其為“真正屬于 Go 的 Express.js”,也就是說,它是 JavaScript / Node.js 的 Web 框架的 Go 語言版,它使用最小設計,絕大部分功能都由插件提供。Iris 提供基本的 MVC 功能,自帶對中間件、會話、路由和緩存的支持。
▌Go 網絡開發框架:Revel
Ruby on Rails 為 MVC 風格的 Web 框架提供了一個通用模式,許多其他語言都仿照 Ruby on Rails 實現了自己的框架。Revel 的創建者將其視作 Rails 的靈魂。
除了提供基本的 MVC,Revel 還允許你自由使用其他組件來滿足其他需求。你可以使用 Go 自己的原生 html/template 包,或自己提供。同樣,對于 HTTP 引擎,你也可以使用 Go 自己的或第三方提供的。緩存可以在本地的內容中完成,也可以通過 Memcached 或 Redis 在后臺完成。但是,該框架沒有數據庫的原生 ORM。
“Go 語言的主要框架有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!