学習ロードマップ

Go 言語入門

文法の最短習得からイディオマティックな書き方、実務設計、並行処理までを 5 冊で積み上げ、サーバサイド Go を書ける状態に到達する。

たった1日で基本が身に付く! Go言語 超入門 スターティングGo言語 初めてのGo言語(第2版) : 他言語プログラマーのためのイディオマティックGo実践ガイド 実用 Go言語(第2版) : システム開発の現場で知っておきたいアドバイス Go言語による並行処理
SCROLL TO BEGIN

このロードマップが扱うもの

- Go 使 - goroutine interface - CLI Go

このロードマップの全体像

対象読者

  • 他言語の経験はあるが Go は未着手で、サーバサイドやインフラ用途で使い始めたいエンジニア
  • 入門書を一冊読んだものの、goroutine や interface を自分のコードで活かせていない実務者
  • CLI ツールやマイクロサービスを Go で書くチームに移った、または移る予定の開発者

5 冊で到達する状態

  • パッケージ / 構造体 / インタフェース / エラーハンドリングの基本を迷わず書ける
  • go fmt go vet などツール前提のイディオマティックなコードを選べる
  • 実務プロジェクトでのディレクトリ構成・設定管理・ログ設計の定石を説明できる
  • goroutine と channel を使った並行処理を、デッドロックや競合を意識して設計できる
  • context や sync パッケージを用いたキャンセル伝搬・同期の選び分けができる

進め方のヒント

  • 1・2 冊目は写経中心でも良いが、3 冊目以降は自作 CLI か小さな Web API に適用する
  • 並行処理は本を読むだけでは定着しない。-race フラグ付きで壊して直す練習を重ねる
  • 公式 Tour of Go と pkg.go.dev を常に開き、書籍の記述を標準ライブラリで裏取りする

ロードマップ

5 つのステップで読み進める

  1. 01
    ステップ 01 最短距離で文法の全体像を掴む起点
    たった1日で基本が身に付く! Go言語 超入門
  2. 02
    ステップ 02 基本構文と標準機能を体系的に整理
    スターティングGo言語
  3. 03
    ステップ 03 他言語経験者向けのイディオマティック Go
    初めてのGo言語(第2版) : 他言語プログラマーのためのイディオマティックGo実践ガイド
  4. 04
    ステップ 04 現場で効く実務設計のアドバイス集
    実用 Go言語(第2版) : システム開発の現場で知っておきたいアドバイス
  5. 05
    ステップ 05 goroutine と channel を設計で使いこなす
    Go言語による並行処理

第 1 章

最短距離で文法の全体像を掴む起点

  1. 最短距離で文法の全体像を掴む起点

    環境構築から条件分岐・関数・構造体まで一気に通す入門。Go の見た目と開発サイクルに慣れ、以降の本を読む下地を最短で作る役割。

    たった1日で基本が身に付く! Go言語 超入門
    この章の 1 冊 たった1日で基本が身に付く! Go言語 超入門

    Go言語の文法と実用的な応用を1冊で体系的に習得する

    この本で身につくこと
    • 開発環境のセットアップからHello Worldまでの手順を自力で完結できる
    • 整数・文字列・配列・ブール型など基本データ型の使い分けができる
    • for・if・switchによる制御構造とGoのゼロ値の概念を理解できる
    • 関数・クロージャ・構造体・メソッド・インタフェースを使ったコード設計ができる

    想定読者: プログラミング経験はあるがGo言語は未経験で、まず動くコードを書きながら文法全体を俯瞰したい入門者

    本の詳細を見る →
  2. 基本構文と標準機能を体系的に整理

    ゴルーチンや開発ツール、頻出パッケージまで日本語で網羅する定番入門。1 冊目で拾った語彙を仕様ベースで整理し直す位置付け。

    スターティングGo言語
    この章の 1 冊 スターティングGo言語

    Go言語の基本構文から並行処理・パッケージ活用まで体系的に習得する

    この本で身につくこと
    • Go言語の基本構文(変数・型・演算子・制御構文・関数)を他言語比較の視点で理解できる
    • スライス・マップ・チャネルの参照型の特性を把握し、適切に使い分けられる
    • ゴルーチンとチャネルを使った並行処理の基礎を実装できる
    • 構造体とインターフェースによるGoらしい型設計の考え方を習得できる

    想定読者: C/C++・Java・Pythonなど他言語の基礎知識があり、Go言語を実務で使い始めたいエンジニア

    本の詳細を見る →
  3. 他言語経験者向けのイディオマティック Go

    Go らしい書き方とプロジェクト設計を解説する改訂定番。ジェネリクスを含む現行仕様を踏まえ、中級へ進む背骨として据える。

    初めてのGo言語(第2版) : 他言語プログラマーのためのイディオマティックGo実践ガイド
    この章の 1 冊 初めてのGo言語(第2版) : 他言語プログラマーのためのイディオマティックGo実践ガイド

    他言語経験者がイディオマティックなGoを基礎から実践まで習得する

    この本で身につくこと
    • スライス・マップ・構造体などGoの複合型の設計と使い分けを説明できる
    • インターフェースとダックタイピングを活用した疎結合な設計ができる
    • ジェネリクスの基本的な型パラメータ設計を実装に適用できる
    • goroutine・channel・selectを使った並行処理の基本構造を書ける

    想定読者: Python・Java・PHP など他言語の実務経験を持ち、Goを業務で使い始めようとしているエンジニア

    本の詳細を見る →
  4. 現場で効く実務設計のアドバイス集

    ディレクトリ構成・設定管理・ログ・テストなど業務で判断を迫られる局面に踏み込む実用書。入門を現場投入レベルへ橋渡しする。

    実用 Go言語(第2版) : システム開発の現場で知っておきたいアドバイス
    この章の 1 冊 実用 Go言語(第2版) : システム開発の現場で知っておきたいアドバイス

    Go の文法から実務慣習まで、現場で使える知識を体系的に習得する

    この本で身につくこと
    • Goらしい命名規則・定数定義・エラーハンドリングの慣習を実務コードに一貫して適用できる
    • 構造体・インターフェース・ジェネリクスの使い分けを設計根拠とともに説明できる
    • JSON・CSV・Excel・固定長データの読み書きを標準ライブラリで実装できる
    • Testcontainers を使った DB テストや httptest を使った HTTP テストなど外部依存込みのテスト手法を適用できる

    想定読者: A Tour of Go 等の入門を終えて業務への導入を検討しているバックエンドエンジニア。文法は一通り分かるが、テスト・DB・HTTP・デプロイまで統一した一冊で固めたい人に向く。

    本の詳細を見る →
  5. goroutine と channel を設計で使いこなす

    並行処理の哲学からパターン・内部構造までを扱う応用書。Go を選ぶ最大の動機である並行モデルを自分で設計できる到達点に置く。

    Go言語による並行処理
    この章の 1 冊 Go言語による並行処理

    Katherine Cox-Buday による Go の並行処理専門書。

    この本で身につくこと
    • 設計哲学から始める: 競合状態・アトミック性・メモリアクセス順序の基礎を押さえた上で、CSP(Communicating Sequential Processes)の発想が Go の API にどう反映されているかを解説。
    • パターン集: Confinement、For-Select、Pipelines、Fan-Out / Fan-In、Error Propagation、Heartbeats、Or-Done-Channel、Tee-Channel など、実務でそのまま使える並行処理パターンが豊富。
    • context 徹底理解: サーバー系 Go コードで避けて通れない `context.Context` の使い方と、cancel 伝播のベストプラクティスが独立章。
    本の詳細を見る →