Contents
1️⃣ 目的と全体像
目標:公式サイト・インタラクティブツアー・コミュニティ資料の3つだけで、Go 言語未経験者がローカル環境を構築し、コンソール・Web / CLI のサンプルを動かせるようになること。
学習フロー
| フェーズ | 主なアウトプット | 推奨リソース |
|---|---|---|
| ① 環境構築 | Go 本体 + エディタ | https://go.dev/doc/install(公式) |
| ② 基礎文法体験 | Hello World、変数・制御構文 | A Tour of Go 日本語版 |
| ③ 実装演習 | HTTP サーバ/CLI ツール | Qiita 記事(執筆者提供のスライド)※最新情報はご自身で確認 |
この流れに沿えば、1 日程度で「コードが実行できる」段階まで到達できます。
2️⃣ 公式インストールガイドと環境構築
2‑1. Go のインストール(公式)
手順は OS ごとに 3 行程度です。
| OS | コマンド例 |
|---|---|
| macOS (Homebrew) | brew install go |
| Ubuntu/Debian | sudo apt-get update && sudo apt-get install -y golang-go |
| Windows (MSI) | https://go.dev/dl/ から最新版 MSI をダウンロードし実行 |
インストール後、ターミナルで以下を確認してください。
|
1 2 3 |
$ go version # 例: go version go1.22.0 darwin/amd64 $ go env GOBIN # GOPATH のデフォルト位置が表示されます |
Tip
go envで出力されたGOROOTとGOPATHが期待通りかチェックし、必要に応じてシェルの環境変数へ追記します(例:export PATH=$PATH:$HOME/go/bin)。
2‑2. エディタと拡張機能
| ツール | 推奨設定 |
|---|---|
| Visual Studio Code | 「Go」拡張(公式)をインストール → 自動で gopls が有効化され、コード補完・静的解析が利用可能 |
| Git | git init でプロジェクトを管理。モジュールは go mod が標準です |
2‑3. モジュール管理の基本
|
1 2 3 |
$ mkdir hello && cd hello $ go mod init example.com/hello # go.mod が生成されます |
この状態であれば、外部パッケージを import した瞬間に自動で go.sum が作成され、依存関係が確定します。
3️⃣ 「A Tour of Go」日本語版の活用法
3‑1. 構成と学習ポイント
全 12 章(約 2 時間分)を順にこなすだけで、言語設計の根幹を体感できます。各章はブラウザ上で即時実行できるため、手を止めずに学習が進みます。
| 章 | 主題 | キーコンセプト |
|---|---|---|
| 1 | Hello, World | package main と fmt.Println |
| 2 | 基本型 | 整数・浮動小数点・文字列リテラルの扱い |
| 3 | 複合型(配列・スライス) | メモリレイアウトとコピー |
| 4 | マップ | ゼロ値とキー検索 |
| 5 | 関数 | 多戻り値・名前付き戻り値 |
| 6 | メソッド | レシーバーとポインタ受け取り |
| 7 | インタフェース | ダックタイピング |
| 8 | エラーハンドリング | error 型の慣例 |
| 9 | パッケージ | 公開/非公開ルール |
| 10 | ゴルーチン・チャネル | 基本的な並行処理 |
| 11 | 標準ライブラリ(io·os) | ファイル I/O とストリーム |
| 12 | テスト | testing パッケージの使い方 |
学習順序の提案
1〜5 章で構文と型システムに慣れ、6〜9 章でオブジェクト指向的要素を体得。10 章以降は実務でも頻出する並行処理やテストへシフトします。
3‑2. アクセス情報
| 項目 | 内容 |
|---|---|
| URL | https://go-tour-jp.appspot.com/(公式) |
| 利用条件 | 会員登録不要、無料で全章閲覧可能 |
| 更新頻度 | Go のメジャーリリースごとに内容が見直されます(最新は 2025 年の Go 1.22 対応版) |
4️⃣ Qiita スライド資料「プログラミング言語 Go 完全入門」
注:本スライドは執筆者が個人で公開しているもので、公式情報ではありません。内容の正確性・最新版かどうかはリンク先で必ずご確認ください。
4‑1. 主な構成と特徴
| セクション | カバー範囲 |
|---|---|
| 基本文法 | 変数宣言、制御フロー、関数 |
| 標準ライブラリ | net/http、bufio、encoding/json の基本使い方 |
| 実践例 | 簡易 HTTP サーバ、CLI ツールの雛形 |
| ベストプラクティス | エラーハンドリング、テストコードの書き方 |
PDF 形式で提供されており、図解とコードスニペットが豊富なので、紙媒体やタブレットでの学習に適しています。
4‑2. ダウンロード手順(2024 年時点)
- Qiita 記事ページへアクセス(例:
https://qiita.com/mmnn/items/99daed75a549e126d4c4)。 - ページ右側の 「Download PDF」 ボタンをクリックして保存。
- ダウンロードした PDF を開き、興味のある章のコードをローカル環境へコピーペーストし実行。
活用シーン例
- 勉強会で配布資料として使用 → 参加者全員が同じ手順でハンズオンできる。
- 自己学習のリファレンスとして、疑問点を検索しながら読み進める。
5️⃣ ハンズオン実装フロー:Hello World → HTTP サーバ → CLI ツール
以下は すべて go run または go build で動作確認できる最小構成です。プロジェクトは先ほど作った hello ディレクトリ内にファイルを追加していきます。
5‑1. Step 1 – Hello World
|
1 2 3 4 5 6 7 8 9 |
// hello.go package main import "fmt" func main() { fmt.Println("Hello, Go!") } |
実行:
|
1 2 3 |
$ go run hello.go Hello, Go! |
ポイント:
package mainとfunc main()がエントリーポイントになることを体感。
5‑2. Step 2 – シンプル HTTP サーバ
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// server.go package main import ( "fmt" "log" "net/http" ) func helloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello from Go HTTP Server") } func main() { http.HandleFunc("/", helloHandler) log.Println("Server listening on :8080") log.Fatal(http.ListenAndServe(":8080", nil)) } |
実行:
|
1 2 3 |
$ go run server.go 2026/04/19 12:34:56 Server listening on :8080 |
ブラウザで http://localhost:8080/ にアクセスすると「Hello from Go HTTP Server」と表示されます。
学習ポイント
- 標準パッケージnet/httpのハンドラ登録 (HandleFunc)。
- エラーはlog.Fatalで即時終了させる慣習的手法。
5‑3. Step 3 – 基本 CLI ツール
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// cli.go package main import ( "flag" "fmt" ) func main() { name := flag.String("name", "World", "対象の名前") flag.Parse() fmt.Printf("Hello, %s!\n", *name) } |
ビルドと実行:
|
1 2 3 4 |
$ go build -o hello-cli cli.go $ ./hello-cli -name=Go言語 Hello, Go言語! |
ポイント:標準パッケージ
flagによるコマンドライン引数の解析は、実務で頻出する CLI 作成のベースです。
5‑4. 次に挑戦したいテーマ
| テーマ | 推奨リソース |
|---|---|
| データ永続化(SQLite) | github.com/mattn/go-sqlite3 のチュートリアル |
| 並行処理(ゴルーチン+チャネル) | Tour 10章、または公式ブログ「Concurrency in Go」 |
| Docker コンテナ化 | https://docs.docker.com/language/golang/ |
6️⃣ 今すぐ始めるアクションプラン
| ステップ | 内容 | 完了目安 |
|---|---|---|
| ① 環境構築 | 公式サイトから Go をインストールし、VS Code の「Go」拡張を有効化 | 30 分 |
| ② 基礎体験 | Tour of Go の章 1(Hello, World)を実行 → go run が成功すれば OK |
15 分 |
| ③ スライド取得 | Qiita 記事の PDF をダウンロードし、目次だけでもざっと閲覧 | 10 分 |
| ④ ハンズオン① | hello.go → server.go → cli.go を順に作成・実行 |
45 分 |
| ⑤ 次フェーズ計画 | 並行処理やデータベースといった「実務レベル」課題を 1 件選び、調査開始 | 20 分 |
合計所要時間は約 2 時間(余裕があれば 1 日で完了)。この時点で「ローカルで Go プログラムを書いて走らせる」感覚が身につきます。
7️⃣ 補足情報・役立つリンク集
| カテゴリ | リンク |
|---|---|
| 公式インストール | https://go.dev/doc/install |
| 言語仕様(日本語) | https://golang.org/ref/spec |
| 標準ライブラリドキュメント | https://pkg.go.dev/std |
| コミュニティフォーラム | https://forum.golangbridge.org/ |
| 質問・トラブルシューティング | Stack Overflow(タグ go) |
| 学習イベント | Go Conference (国内外) のオンラインセッション |
8️⃣ まとめ
- 公式サイトだけでインストールが完了し、VS Code + Go 拡張で快適な開発環境がすぐに手に入ります。
- A Tour of Goはブラウザ上で実行できる演習が豊富で、初心者の「手を動かす」感覚を最も効率的に育てます。
- Qiita のスライド資料は図解とコード例が充実しており、学んだ概念を実装に落とし込む橋渡し役として有用です(情報の最新性は自行で確認)。
- 3 つのステップ(Hello World → HTTP Server → CLI)を体験すれば、Go の基礎から実務的な小規模サービス構築までの土台が完成します。
このロードマップに沿って「環境構築 → 基礎演習 → ハンズオン」のサイクルを回せば、初心者でも自信を持って次のステージ(データベース、並行処理、クラウドデプロイ)へ進むことができます。さあ、一歩踏み出して Go の世界に触れてみましょう!