首頁 >後端開發 >Golang >為什麼每個人都應該學習 Go(即使您認為生活中不需要另一種語言)

為什麼每個人都應該學習 Go(即使您認為生活中不需要另一種語言)

DDD
DDD原創
2024-09-18 17:36:38830瀏覽

Why Everyone Should Learn Go (Even If You Think You Don

啊,Go,程式語言。您可能聽說過,也許是從辦公室裡一位過於熱情的開發人員那裡聽說過的,他總是不停地談論他們的 API 現在有多「快得驚人」。當然,您已經涉足過其他語言,也許您會想:「我真的需要另一種語言嗎?」劇透警告:是的,是的,你知道。 Go 就是那種語言。讓我以最諷刺、最真誠的方式為你解釋。

1. 很簡單(真的很簡單)

Go 的語法非常簡單,幾乎令人感到侮辱。如果你花了數年時間來掌握 JavaScript 框架的複雜性,與 Python 裝飾器搏鬥,或者像一顆活手榴彈一樣圍繞 C 的內存管理跳舞,那麼 Go 會感覺就像有人遞給你一本圖畫書。不,說真的。 Go 是有意簡約的,它的哲學是「我們不需要所有這些花俏的功能,讓我們把事情做好」。

雖然其他語言為你提供了所有工具來將你的程式碼製作成複雜的、難以閱讀的藝術品,但Go 的設計師認為,「不,讓我們讓它發揮作用吧。」沒有復雜的繼承層次結構,沒有複雜的函數重載,沒有看起來像是惡夢代數的模板。只是直接、切題的程式碼。就好像他們在說:「在這裡,別再苦苦思考了。」

2. 併發如此簡單,幾乎粗魯

如果您曾經嘗試過用傳統語言處理並發,您就會知道它會造成多大的傷害。線程池、互斥鎖、死鎖——光是想到這些就讓你想蜷縮成一團哭泣。但是要去嗎?哦不,Go 說,「線程?噗,這裡有 goroutines。」在 Go 中啟動輕量級線程是多麼容易,這幾乎是不尊重的。你只需在函數呼叫前新增一個 go 關鍵字,然後 BAM,它就會同時運作。

甚至別讓我開始使用 Go 的頻道。這就好像Go 看了其他所有語言在並發方面的嘗試,然後說:「你們把事情搞得太複雜了,看看這個。」通道讓goroutine 能夠像乖孩子在課堂上傳紙條一樣進行交流——沒有大喊大叫,沒有大驚小怪。你甚至可能會因為它的順利運作而感到受到侮辱。

3. 一個不會讓你哭泣的標準庫

你知道當你必須安裝 47 個軟體包只是為了發出一個簡單的 HTTP 請求時的感覺嗎?不在 Go 中。 Go 的標準庫就像一把瑞士軍刀,你以前不知道自己需要,但現在卻離不開它。想要啟動網頁伺服器嗎?完畢。需要處理 JSON?簡單的。想要編寫一個透過網路進行通訊的並發程式?它已經在工具箱中了。

Go 的標準庫有著這種安靜的自信,就好像它在說:「哦,你想建立一個Web 服務嗎?你可以,無需引入200 個第三方依賴項並犧牲你的靈魂。」這就像獲得一種語言的所有高級功能而無需支付昂貴的訂閱費用。老實說,這太粗魯了。

4. 它是編譯過的,所以速度很快(而且非常煩人)

還記得您坐在那裡、敲腳、等待 Python 或 JavaScript 程式碼運行的所有時間嗎? Go 沒有時間做這些廢話。它已編譯,而且速度很快。就像,眨眼就完成了。當然,其他語言會盡力而為,但 Go 只是將其閃電般快速的二進位檔案扔給你,就像,「什麼?你還在嗎?已經完成了。」

最好的部分?您不需要了解正在發生的所有幕後魔力。你只知道 Go 產生的可執行檔就像 Usain Bolt 喝濃縮咖啡一樣運作。當其他語言需要花時間熱身並穿上跑鞋時,Go 已經衝過終點線,洗了澡,正在享受賽後冰沙。

5. 跨平台,沒有通常的戲劇性

曾經嘗試過讓 Python 腳本同時在 Windows 和 Linux 上運作嗎?是的,這就像在大學裡試圖組織一個小組專案一樣——充滿了困惑、奇怪的錯誤和許多相互指責。但是要去嗎? Go 並不在乎你在什麼平台上。編譯一次,它幾乎可以在任何地方運行。這就是程式設計世界的「當然,無論如何」的態度。

如果您喜歡編寫 Docker 容器(說實話,誰不喜歡好的容器呢?),Go 的二進位檔案就是夢想成真。一個不依賴運行時環境「恰到好處」的單一靜態連結二進位檔案相當於有一個室友在沒有被要求的情況下實際洗碗。這好得令人難以置信,但我們來了。

6. Google 使用它,所以你知道它是合法的

現在,我知道你在想什麼——「但是如果我只想建立小型副業專案怎麼辦?」當然,你可以。但讓我們面對現實吧。當你聽到控制大部分互聯網的谷歌公司創造了 Go 時,你會感覺自己正在揮舞著一個專為統治世界而設計的強大工具。當然,你可能會從一個小型網頁伺服器或一些 API 開始,但在內心深處,你知道如果你真的願意的話,你可以用這個東西建立下一個 Google 規模的系統。

沒錯,Go 是為擴展而設計的,但不用擔心,如果您的第一個項目是待辦事項列表應用程序,沒有人會評判您。 (其實,我可能會。只是一點點。)

7. 它是開源的,所以你可以假裝你做了貢獻

我們都喜歡開源項目,對吧?它給我們一種作為「社區」一部分的溫暖模糊的感覺。嗯,Go 是開源的,如果你願意,你可以深入研究程式碼。你真的會為此做出任何貢獻嗎?可能不會。但只要知道你可以(如果你覺得這樣就夠了,對吧?

你可以在聚會上告訴人們,「是的,我正在使用 Go——完全開源,這對社區來說很棒。」然後坐下來享受同事們恭敬的點頭。沒有人需要知道您的真正貢獻主要包括 GitHub 上的明星存儲庫。

8. Go 社區:出奇的冷靜

看,我們都是程式設計社群的一部分…好吧,我們只能說他們可以「熱情」。有些語言社群(我們沒有指名道姓,但你知道你是誰)可能會因為他們的「最佳實踐」和對編寫 for 循環的正確方法不斷挑剔而有點令人生畏。但是 Go 的社區呢?就像呼吸新鮮空氣一樣。他們很支持你、樂於助人,不會因為問一個簡單的問題而讓你覺得自己像個白痴。他們的冷漠程度幾乎令人不安。

也許是因為語言本身並不想變得過於複雜,所以沒有人覺得有必要表現得高人一等。無論出於何種原因,Go 社群都是您可以找到真正支持的地方,而不是偽裝成「建議」的看門人。


結論

那麼,為什麼每個人都應該學習 Go?因為它簡單而不愚蠢,快速而不大驚小怪,而且功能強大,足以處理您扔給它的任何瘋狂項目。就像那個總是冷靜、鎮定的朋友,不知怎的,他的工作效率高得離譜,但又不讓人覺得工作很辛苦。

如果您厭倦了那些溺愛您或要求您犧牲理智的語言,那麼 Go 就是您的最佳選擇。試試一下,誰知道呢——您可能會成為辦公室裡那個過度熱情的開發人員。老實說,這不是很有趣嗎?

以上是為什麼每個人都應該學習 Go(即使您認為生活中不需要另一種語言)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:登入 Go 語言下一篇:登入 Go 語言