官术网_书友最值得收藏!

第2章
初識Go語言

Go是一種運行高效、可擴展且富有成效的語言。有些程序員覺得使用Go工作很有趣,而另一些程序員則覺得它缺乏創造力,甚至無趣。其實這些立場并不矛盾。Go旨在解決谷歌軟件開發中面臨的問題,它雖然不是一種突破性的研究語言,但在大型軟件工程項目中仍然是優秀的工具。

——Rob Pike,“Go at Google:Language Design in the Service of Software Engineering”(https://oreil.ly/3EItq

筆者是Go語言的超級粉絲。世界各地的開發人員使用Go實現項目的數量令人贊嘆。多年來,Go一直位居工程師們喜歡或想學習的名單前5位(https://oreil.ly/la9bx)。它被眾多企業使用,包括蘋果、美國運通、Cloudflare、戴爾、谷歌、Netflix、紅帽、Twitch等科技巨頭(https://oreil.ly/DSM73)。當然,金無足赤,人無完人,Go也并非完美。筆者可能會更改、刪除或添加一些東西到Go中。但如果你半夜叫醒筆者并讓筆者快速編寫可靠的后端代碼,筆者會用Go去寫。Go中有命令行接口,也有快速、可靠的腳本。初級程序員應該學習的第一門語言是什么?筆者的回答是:Go。物聯網、機器人和微處理器的代碼開發呢?答案也是Go[1]。基礎設施配置呢?截至2022年,筆者認為在模板健壯性方面沒有比Go[2]更好的工具。

別誤會筆者的意思,有些語言具有優于Go的特性或生態。例如,圖形用戶界面(G U I)、游戲行業的高級渲染部分或在瀏覽器中運行的代碼[3]。然而,一旦你意識到Go語言的諸多優勢,就很難再回到其他語言了。

在第1章中,我們花了一些篇幅建立軟件開發的效率意識。我們了解到我們的目標是以最少的開發量和成本編寫高效的代碼。本章將說明為什么Go語言能成為實現性能與質量平衡的可靠選擇。

2.1節和2.2節將簡明扼要地列出一些每個人都應該知道的Go事實,其中一些事實是筆者希望在2014年開始使用Go時就已知曉的。這兩節涵蓋的不僅僅是效率方面的基本知識,還將介紹Go語言相關知識。然而,如果你是這門語言的初學者,筆者建議你閱讀這些內容,然后查看摘要中提到的其他資源。不妨試著用Go編寫你的第一個程序,然后再回顧本書。另外,如果你認為自己是高級用戶或專家,筆者建議你也不要跳過本章。筆者將解釋一些關于Go鮮為人知的事實,你可能會覺得有趣或有爭議(沒關系,每個人都可以有自己的意見!)。

最后,我們將在2.3節中回答有關Go整體效能的問題,也就是將在2.3節對Go和其他語言進行對比。

主站蜘蛛池模板: 云南省| 恭城| 沙坪坝区| 军事| 泰和县| 江孜县| 滦南县| 沂水县| 濮阳县| 惠东县| 始兴县| 连江县| 潞城市| 大安市| 荥阳市| 莲花县| 六安市| 娱乐| 东乡族自治县| 遂溪县| 获嘉县| 化隆| 嘉义县| 克拉玛依市| 大连市| 库尔勒市| 昭觉县| 桐柏县| 晋城| 龙口市| 夏邑县| 达孜县| 海伦市| 玛曲县| 瓦房店市| 兴文县| 靖安县| 团风县| 康平县| 定兴县| 政和县|