框架一直是敏捷開發中的利器,能讓開發者很快的上手並做出應用,甚至有的時候,脫離了框架,一些開發者都不會寫程序了。成長總不會一蹴而就,從寫出程序獲取成就感,再到精通框架,快速構造應用,當這些方面都得心應手的時候,可以嘗試改造一些框架,或是自己創造一個。
Go 是一門正在快速增長的編程語言,專為構建簡單、快速且可靠的軟件而設計。 golang提供的net/http庫已經很好了,對於http的協議的實現非常好,基於此再造框架,也不會是難事,因此生態中出現了很多框架。本篇文章主要介紹六個知名的Go語言web框架。

Beego:開源的高性能 Go 語言 Web 框架。
beego是一個快速開發Go應用的http框架,go 語言方面技術大牛。beego可以用來快速開發API、Web、后端服務等各種應用,是一個RESTFul的框架,主要設計靈感來源於tornado、sinatra、flask這三個框架,但是結合了Go本身的一些特性(interface、struct繼承等)而設計的一個框架。
Iris:全宇宙最快的 Go 語言 Web 框架。完備 MVC 支持,未來盡在掌握。
Iris是一個快速,簡單但功能齊全的和非常有效的web框架。提供了一個優美的表現力和容易使用你的下一個網站或API的基礎。
Revel:Go 語言的高效、全棧 Web 框架。
高生產率,完整的web框架去語言。
下面三個知名的 Go 語言 Web 框架並不是真正意義上的框架,因為沒有完備支持所有功能,但是大部分的 Go 社區認為它們是的,所以,我們有義務將這幾個框架(Echo,Gin 和 Buffalo)也介紹一下。
Buffalo:使用 Go 語言快速構建 Web 應用。
Buffalo能幫助你生成一個web項目,已經從前端(JavaScript, SCSS等)后端(數據庫、路由等)已經連接並准備運行。 從那里它提供了簡單的api來快速構建web應用程序中去。水牛不只是一個框架; 這是一個全面的web開發環境和項目結構讓開發人員了解業務,建立他們的業務。
Echo:簡約的高性能 Go 語言 Web 框架。
Echo是為用Java開發Web應用程序提供的一個面向對象,事件驅動的框架。使用Echo 框架來編程類似於使用Swing API來開發應用程序或applets。
Gin:Go 語言編寫的 Web 框架,以更好的性能實現類似 Martini 框架的 API。
Gin是一個golang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本。具有快速靈活,容錯方便等特點。
以上所有這些框架,除了 Beego 和 Revel 之外,都可以適配任意 net/http 中間件。其中一部分框架可以輕松地做適配,另外一些可能就需要額外的努力 [即使這里的痛苦不是一定的]。
作者:QF董懂
鏈接:https://juejin.im/post/6844903807583780872
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。