我看到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 協議》,轉載必須註明作者和本文連結