Go マスターカリキュラム
ADHD向け設計: 1セッション25-30分 / 写経禁止・必ず1箇所改造 / 各レッスンに動く完成物
環境構築
# Homebrew で Go をインストール
brew install go
# バージョン確認
go version # go1.22 以上ならOK
# ワークスペース作成
mkdir -p ~/go/src/learn && cd ~/go/src/learn
# Go Modules 初期化
go mod init learnエディタ: VS Code + Go 拡張機能(フォーマット・補完が強力)
Level 1: 文法と道具(Week 2)
Level 2: HTTP サーバーを作る(Week 6)
- http で最小サーバー
- 2-2. ルーティングとハンドラ設計
- デコード
- 2-4. ミドルウェアパターン
- 2-5. エラー処理とログ
- 2-6. パッケージ分割と命名
- 2-7. シンプルなREST APIを完成させる
Level 3: DB連携・テスト・本番品質(Week 10)
- sql で MySQL 接続
- 3-2. CRUD ハンドラを実装
- 3-3. testing パッケージで単体テスト
- 3-4. テーブル駆動テストとモック
- 3-5. 認証 - JWT or セッション
- 3-6. context によるキャンセル制御
- 3-7. 本番準備 - 設定・ログ・graceful shutdown
進捗
- Level 1 完了(Week 2)
- Level 2 完了(Week 6)
- Level 3 完了(Week 10)
Go の良さ(モチベ維持用)
- コンパイル速い → 即実行で達成感ループが回る(ADHDと相性が良い)
- 書き方が1通り → 「これでいいのか?」の迷いが少ない
- 標準ライブラリだけでサーバーが書ける → 依存地獄なし
- 型がある → エディタが手伝ってくれる範囲が広い
- goroutine/channel → 並行処理が他言語より簡単
「写経しない」を徹底する技
各レッスンの最後に 「自分の改造課題」 が必ず1つある。例:
- Hello World → 引数で挨拶相手を変える
- todo CLI → 完了フラグを足す
- HTTP サーバー → 自分の名前のエンドポイントを足す
写経して動くだけだと脳に残らない。1行でいいから自分で書き換える。