原文多以 Go 1.13 為例;目前已補充 Go 1.26 的差異說明(尤其是模組與 go 指令行為)。
起步走
語言的起步走,需要的時間最好是長一些,因為慢一點才會快一點 ...
- Go 平台概要
在開始認識語言本身之前,先來瞭解 Go 提供的基本工具集,這是 Go 的一大特色。
- 型態、變數、常數、運算子
也許看似基本,然而沒你想像中的那麼簡單。
- 運算與流程控制
Go 有指標,switch 很有彈性,沒有 while,存在 goto ... XD
函式、結構與介面
封裝演算、定義行為、組織程式元件。
- 結構
把相關的東西放在一起。
- 介面
將行為定義出來。
常用 API
從常用 API 中學習如何撰寫 Go 程式碼。
- 基本 IO
從 io.Reader、io.Writer 開始認識。
- error 處理
到處都在 if err != nil?
- 資料結構
sort、list、heap 與 ring 套件。
- 文字
有關字串、位元組、規則表示式等的處理。
- 反射
探測資料的結構與相關數值。
- 並行
簡單的並行模型。
其他
一些雜七雜八的東西,暫時放這分類。
- 相依管理
go module 能終結混亂嗎?
- WebAssembly 支援
Go 也可以在瀏覽器裏跳舞?
附錄