Go 語言系列(一):為什麼要學 Go?
這是 Go 語言從零到 Web 應用系列的第一篇。整個系列共 10 篇文章,將帶你從完全不懂 Go,到能獨立建構一個具備 CRUD、認證、資料庫的完整 Web 應用程式。 Go 是什麼? Go(又稱 Golang)是 Google 於 2009 年正式推出的開源程式語言,由 Robert Griesemer、Rob Pike 和 Ken Thompson 三位電腦科學大師共同設計。其中 Ken Thompson 是 Unix 和 C 語言的共同發明者,Rob Pike 則是 UTF-8 編碼的共同發明者。 Go 的誕生並非出於學術目的,而是為了解決 Google 內部面臨的真實工程問題: 編譯太慢:大型 C++ 專案的編譯時間動輒數十分鐘甚至數小時 依賴管理混亂:複雜的依賴關係讓專案難以維護 併發程式太難寫:傳統的 thread + lock 模型容易出錯 語言太複雜:C++ 和 Java 的功能越加越多,學習曲線越來越陡 Go 的設計目標很明確:在保持簡單的前提下,解決大規模軟體工程的問題。 Go 的設計哲學 Go 的核心哲學可以用三個字總結:少即是多。 簡潔至上 Go 刻意省略了許多其他語言中「理所當然」的功能: 沒有繼承:用組合(Composition)取代 沒有泛型(Go 1.18 前):直到社群有足夠共識才加入 沒有例外處理:用明確的錯誤回傳值取代 try/catch 沒有 Operator Overloading 沒有隱式型別轉換 這些看似「缺少」的功能,其實是刻意的設計選擇。Go 團隊認為,語言的價值不在於能做多少事,而在於讓開發者能多快理解和維護程式碼。 ...