Go語言適用於Web開發嗎

最近在學習使用Go開發web應用,也瞭解了Go的一些web框架。我不禁思考,Go語言適用於web開發嗎?如果是,它有什麼優勢呢?閱讀了一些資料後,我想談談我粗淺的看法——Go語言適用於web開發。

一. 簡潔且快速
Go的一個突出優勢是可以在不損失應用程序性能的情況下降低代碼的複雜性。谷歌首席軟件工程師羅布派克(Rob Pike)說:“我們之所以開發Go,是因爲過去10多年間軟件開發的難度令人沮喪。” 谷歌資深軟件工程師羅布·派克(Rob Pike)表示,“Go讓我體驗到了從未有過的開發效率。”派克表示,和今天的C++或C一樣,Go是一種系統語言。他解釋道,“使用它可以進行快速開發,同時它還是一個真正的編譯語言,我們之所以現在將其開源,原因是我們認爲它已經非常有用和強大。”

Go的編譯爲系統可執行文件運行,不依賴其他庫、無需運行時環境。此外,它具有天生的併發能力(協程),編寫程序時很容易實現併發。比如下面這個例子:

func main(){
   //啓動100個併發工作
   for i := 0; i < 100; i++ {
        go work(i)
   } 
}

使用go命令就可以啓動併發工作。
快速的處理、天生的併發能力,使得Go有能力處理高併發的請求,這是開發Web應用程序的一個非常重要的優點。

二. 成熟的框架
Go語言有非常成熟的Web框架,比如:
Beego: 一個Go語言下開源的,高性能Web框架;
Buffalo: 一個Go語言下快速Web開發框架;
Echo: 一個高性能,極簡的Web框架;
Gin: 一個Go語言寫的HTTP Web框架。它提供了Martini風格的API並有更好的性能;
Iris: 目前發展最快的Go Web框架。提供完整的MVC功能並且面向未來;
Revel: 一個高生產率,全棧Go語言的Web框架。

小型項目可以不用框架,用net/http包即可;大型項目,我們可以選擇合適的Web框架——前人的傑作,既提高了開發效率,還能保證可靠性。

三.如何學習使用Go做Web開發呢?
老師強調了一點,我認爲非常重要,那就是“閱讀源代碼”。
閱讀源代碼是學習 Go 的非常重要的步驟。 如何閱讀源代碼?這是一個非常複雜的話題,知識、經驗和技巧都有很大作用。
首先我們應當瞭解Code Convention,熟悉Go的變量命名、註釋、程序目錄等的基本約定,這是我們能看懂源代碼的基礎;然後最好有一定的 OO 設計模式知識,這對正確理解優秀開源產品至關重要!再者,瞭解我們關注的產品的知識,例如 golang web 服務器的實現,必須會使用它,並瞭解基本使用必須去讀官網文檔,瞭解該內容的設計動機、設計理念。

閱讀的順序應當是,原理閱讀(原理圖、API文檔等)–>細節閱讀(類型、關鍵代碼),然後我們可以動手試一試,甚至重寫某個功能。這樣循序漸進地閱讀源碼,對我們的Go語言學習大有裨益。


參考資料:
https://www.cnblogs.com/coffees/p/10643904.html
https://blog.csdn.net/dev_csdn/article/details/78740990

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章