框架一直是敏捷開發中的利器,能讓開發者很快的上手並作出應用,甚至有的時候,脫離了框架,一些開發者都不會寫程序了。成長總不會一蹴而就,從寫出程序獲取成就感,再到精通框架,快速構造應用,當這些方面都駕輕就熟的時候,能夠嘗試改造一些框架,或是本身創造一個。前端
Go 是一門正在快速增加的編程語言,專爲構建簡單、快速且可靠的軟件而設計。 golang提供的net/http庫已經很好了,對於http的協議的實現很是好,基於此再造框架,也不會是難事,所以生態中出現了不少框架。本篇文章主要介紹六個知名的Go語言web框架。golang
Beego:開源的高性能 Go 語言 Web 框架。web
beego是一個快速開發Go應用的http框架,go 語言方面技術大牛。beego能夠用來快速開發API、Web、後端服務等各類應用,是一個RESTFul的框架,主要設計靈感來源於tornado、sinatra、flask這三個框架,可是結合了Go自己的一些特性(interface、struct繼承等)而設計的一個框架。數據庫
Iris:全宇宙最快的 Go 語言 Web 框架。完備 MVC 支持,將來盡在掌握。編程
Iris是一個快速,簡單但功能齊全的和很是有效的web框架。提供了一個優美的表現力和容易使用你的下一個網站或API的基礎。flask
Revel:Go 語言的高效、全棧 Web 框架。後端
高生產率,完整的web框架去語言。api
下面三個知名的 Go 語言 Web 框架並非真正意義上的框架,由於沒有完備支持全部功能,可是大部分的 Go 社區認爲它們是的,因此,咱們有義務將這幾個框架(Echo,Gin 和 Buffalo)也介紹一下。app
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 中間件。其中一部分框架能夠輕鬆地作適配,另一些可能就須要額外的努力 [即便這裏的痛苦不是必定的]。