簡述GoLang優勢與生態

2022-05-13 01:38:12 字數 2111 閱讀 4618

開門見山,一睹golang的風采

效能優勢

部署運維成本低

編碼格式統一;測試簡單

第一層含義是:go語言的語法和c語言類似,如果你會c語言,上手會很快。但如果你不會c語言,其實也不用擔心,比起c語言,go語言上手其實很簡單。

第二層含義是:go語言的效能,go語言內建強大的併發模型goroutine,它能讓我們快速開發高併發web系統,並且在同樣伺服器資源的情況下,go語言表現出來的效能也是相當的優秀,這也是推薦大家選擇選擇go語言的原因之一。

這是我選擇go語言的第二個原因。go語言屬於編譯型語言,最終部署上線,我們只需要部署專案編譯後的二進位制檔案即可,模擬一下像phppython這種解釋性語言在伺服器上執行還需要安裝相應的執行環境,而使用二進位制**方式使得部署變得更為簡單,也不會存在多版本共享環境的相容性問題,運維也變得非常容易。

go語言官方內建了統一**風格的工具gofmtide一般都會內建整合), 用來規範大家**風格,這對於需要多人協作專案尤為重要。

比如,現在你需要接手乙個外包團隊專案,這個外包專案如果專案的編碼風格和你不一致,當你接手後,你的心情多半沮喪的,因為這會增加你的改造成本。

更或是,你現在需要接手乙個由前前前同事所開發的老專案,如果**風格不統一,可想而知接下來會發生什麼...

go語言官方其實也是注意到了這些痛點,也避免了由第三方產生的規範不一致的問題,以官方的角度統一規範,從而降低整個專案的協作運維成本。

go語言編寫測試**真的非常簡單,這個特性真的是剛需啊。我們在專案開發中經常會遇到這樣的事情,比如當你負責為專案負責開發乙個獨立的簡訊服務模組,這個功能供另個同事在專案裡呼叫,當你開發完成後如何測試功能是否正常呢?

這種測試在go語言中變得相當容易,你只需要在你**檔案同級目錄建立乙個以_test.go結尾的檔案,然後在檔案裡編寫針對特定功能測試函式即可,更重要的是,這個測試檔案是可以單獨執行的,你不需要再去整合整個專案執行環境,go語言讓單元測試變得非常容易。

此外,我們經常還會做一些基準測試,比如:每種語言都會為字串拼接提供多種實現方式,那不同的拼接效能如何對比測試呢?在go語言裡編寫這種基準測試非常簡單,至於更細節的實操內容,後面會有單獨的章節介紹go語言如何編寫測試**。

當下使用go語言開發的軟體產品非常眾多,而且知名的產品也不再少數,足見這門語言的強大:

軟體描述

鏈結docker

家喻戶曉的容器技術

容器編排引擎,google出品

分布式服務註冊發現系統

時序資料庫

資料監控視覺化看板

開源監控系統

分布式服務發現系統

nsq億級訊息佇列

分布式資料庫, go + rust 打造

除了上述**中列舉的產品外,go語言還涉足於像區塊鏈、微服務等場景,開源的框架也非常多,所以說go語言是一門值得去學習的語言。

摘錄 優勢談判簡述

題外話 時光飛逝,轉眼間2016年就要這樣悄悄走過,頓感時間過的太快了,好像沒有做太多事情,這一年就這麼結束了。無論過去的歲月裡經歷什麼,辛苦 甜美 心酸 幸福 快樂,都要好好的把握當下,把握未來,願不辜負曾經奮鬥的自己。不忘初心,方得始終 心懷理想,總將抵達 心懷美好,總將遇到 感謝一路上的相遇,...

優勢與不足

ted的乙個很有意思的演講,我覺得很受啟發。大概意思就是,我們要進行多個方面的任務切換,不能夠總是專注於乙個領域。可能類似於流水線,但同時強調慢過程,一點點打磨,這反而是一件非常高效的事情。首先,關注不同的領域,可以讓你在一件事遇到困難時,切換到另外乙個工作狀態,從而持續興奮的去工作。比如說馬斯克,...

Golang交叉編譯(跨平台編譯)簡述

三 簡述交叉編譯 四 實練 小總結簡單地說,就是在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統 同樣,同乙個作業系統也可以在不同的體系結構上執行。本文只介紹windows平台下的golang交叉編譯 安裝完成後新增tdm gcc中bin資料夾進環境變數。其實儲存上面一幅圖...