隨筆·GO語言技術探索

目錄

一、Go簡介

 二、Go框架

三、個人感悟


一、Go簡介

go語言是由google發佈的開源編程語言,有個好爹。

特點:

  1. 靜態編譯,會生成機器碼,支持類似plan9彙編;
  2. 沒有虛擬機
  3. 可以製作動態鏈接庫,供Go或C程序使用;
  4. 可以調用C語言生成的動態鏈接庫;
  5. 天然具有併發性(協程支持);
  6. 協程間通信,通常使用channel;
  7. 具有豐富的網絡、數據庫等方便服務器開發的標準庫;

典型應用:

  1. 微服務、容器、服務器

 二、Go框架

      初步探索Go程序開發,作爲一種比較新型的語言,在框架方面還沒具有較好的生態,所出的一些框架發佈版本較低(例:v0.x 1.x)。今天(2020年5月31日)初步研讀了幾個框架的官方文檔和網友分享文章,給大家分享一下:

WEB框架:

       Beego框架是國人開發的比較早出來的一款web框架,具有幾個成熟的模塊可用(orm模塊的評價褒貶不一),研讀了幾篇分析文檔,我認爲比較客觀的評價是,這款框架很適合小白入門學習,快速體驗成果,也很適合一部分專注業務的研發項目,beego能夠提供較爲成熟的基礎架構,從而降低人員要求,專注業務開發。但是,更多人認爲beego過於龐大複雜,不符合go語言的發展生態,對應專業的程序員來說,更喜歡go的定製開發和輕量級框架的使用,例如需要orm就是用gorm、xorm框架,需要其他現成模塊再集成其他框架。這樣做到靈活開發和輕量級(代碼量少)的合理平衡。

       Gin框架,專注於解決web框架方案,比Beego要輕量的多,更受專業程序員喜歡。

ORM框架:

       同樣研讀了幾篇文章和官方文檔,目前gorm、xorm應用廣泛,gorm文檔更加全面一些,我閱讀後也感覺比較舒服,所以也更喜歡gorm這個持久化框架。

三、個人感悟

      綜合分析,個人感覺Go語言具有開發快、代碼量少、更貼近底層、運行簡單等特點。它更適合API應用開發、網絡應用開發,如果開發web應用,使用前後端分離技術更爲合適,可是與vue、angular合理搭配,發給各自優勢。在項目架構方面,個人認爲Go的項目目前不建議使用過於臃腫的框架(小白學習除外),而應該根據具體問題尋找對應的解決方案,從而保持它“輕巧、簡單、易於維護”的特點。

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