[翻譯] 為什麼 Golang 在系統程式設計中如此受歡迎?

wangchunbo發表於2020-06-05

[翻譯] 為什麼 Golang 在系統程式設計中如此受歡迎?

我看到Docker,Kubernetes等專案以及用Go編寫的其他一些工具,所以我很好奇。

我正在從事的專案需要廣泛使用Docker sdk,我正在考慮是否應該學習Go並使用它代替Python。

它具有一些好處,包括:

  • 與解釋型語言相比,執行時間非常快

  • 靜態二進位制檔案,這意味著您無需擔心對系統或特定執行時的依賴性

  • 與許多其他編譯語言相比,它很容易編寫

  • 它具有多種語言設計選擇,可以更輕鬆地以正確的方式做事,而以錯誤的方式做事更難

  • 內建有效的併發模型。

1. 問:我在所有方面都同意你的觀點。如果您能為第三點舉一些例子,將不勝感激。我發現介面的工作方式可能是一個很好的例子。還有其他嗎?

答:Go易用性的很大一部分來自它遺漏的所有內容;它故意是一種結構數量有限的簡單語言。

您可以合理地一次將整個Go語言都掌握在自己的腦海中。C ++甚至Java都不是這樣。

回:是的,我同意。我以前曾經使用過node,並且已經使用golang大約5個月了。我覺得a)Go的學習曲線對開發人員非常有利。b)就像您提到的,我覺得自己只有一種做某事的方式,這種構造可以強制執行,並且幾乎每次都是一種最好的方式

答:整個習慣用語惹惱了很多人,但是我參加了足夠多的專案(流失率很高),以認識到對習慣用語的重視是絕對的祝福。出於類似的原因,進入一個新的程式碼庫以瞭解總體情況並不需要很長時間。對於大規模程式設計(對於人類而言),Go確實觸及了頭。

回: 我認為這是主要觀點

答:同樣在這裡。Google瞭解業務,而Go是為業務優化的語言。

2. 鍵字數量稀少,總共約有25個

描述:re:https : //go101.org/article/keywords-and-identifiers.html),其中3個(如果是,用於切換)涵蓋大多數情況(例如:https : //golang.org/doc/effective_go.html#control-structures)

而且它不允許匯入週期。這不僅有助於構建時間,而且至少在我看來,還有助於簡化所需的思維抽象。

答:是的,事實上,go不允許匯入週期,因此在專案變大時付出了很多。我同意你的觀點,我是通過Go語言學習中學到Go語言的,而該系列文章足以使您開始使用程式碼。像Javascript這樣的語言是不可能的

3. 我的最愛。go build只需為那時和那裡的任何作業系統構建二進位制檔案。用紅寶石嘗試一下,現在您瞭解了功能。

描述:更何況:

快速而輕巧

併發內建標準庫,用於所有您不想編寫的非同步之類的東西

使用godoc自動生成的文件

並且它具有內建的短絨毛氈,用於感知不良行為。像我以前的工作的一半

回:不僅如此..而且構建時間簡直是..我很少等待超過2秒的時間來構建初始下載時間短的版本。

回: Go構建實用程式非常出色。我必須為Raspberry Pi部署服務,並且與Go進行交叉編譯非常容易

www.reddit.com/r/golang/comments/g...

禁止 學習某地爬蟲,知乎爬蟲,CSDN 爬蟲。

本文,首發在 learnku 社群。

@author
汪春波(www.shxdledu.cn)

本作品採用《CC 協議》,轉載必須註明作者和本文連結

上海PHP自學中心-免費程式設計視訊教學|
7Dn78VKKcW.jpg!large
S3d25uqwht.png!large

相關文章