原文多以 Go 1.13 為例;目前已補充 Go 1.26 的差異說明(尤其是模組與 go 指令行為)。

起步走

語言的起步走,需要的時間最好是長一些,因為慢一點才會快一點 ...

  • Go 平台概要

在開始認識語言本身之前,先來瞭解 Go 提供的基本工具集,這是 Go 的一大特色。

  • 型態、變數、常數、運算子

也許看似基本,然而沒你想像中的那麼簡單。

  • 運算與流程控制

Go 有指標,switch 很有彈性,沒有 while,存在 goto ... XD

函式、結構與介面

        封裝演算、定義行為、組織程式元件。

  • 結構

把相關的東西放在一起。

  • 介面

將行為定義出來。

常用 API

        從常用 API 中學習如何撰寫 Go 程式碼。

  • 基本 IO

io.Readerio.Writer 開始認識。

  • error 處理

到處都在 if err != nil

  • 資料結構

sortlistheapring 套件。

  • 文字

有關字串、位元組、規則表示式等的處理。

  • 反射

探測資料的結構與相關數值。

  • 並行

簡單的並行模型。

其他

        一些雜七雜八的東西,暫時放這分類。

  • 相依管理

go module 能終結混亂嗎?

  • WebAssembly 支援

Go 也可以在瀏覽器裏跳舞?

附錄