0Pricing
Go Academy icon

Go Academy

GOBackendCloudSystemsWebBeginnerEnterpriseNetwork

Go プログラミングを学び、GO Academy で効率的でスケーラブルなアプリケーションを構築しましょう。

🤖 AI 搭載📚 51 コース👥 100,000+ ユーザー⭐ 4.9 評価
コース概要

Go: 並行処理向けに構築され、スケール設計

Go は Google で開発された静的型付けコンパイル言語で、大規模システムの需要に対応するために設計されています。高速コンパイル、分かりやすい並行処理、本番環境で実際に必要な機能を網羅した最小限の標準ライブラリが特徴です。Docker、Kubernetes、Cloudflare、Uber などの企業がインフラストラクチャで採用しています。このトラックは、基礎から並行処理モデル、REST API、gRPC サービス、本番環境でエンジニアが使用するパフォーマンスツーリングまで、Go を総合的に学びます。

学習内容

Go の型システム、ゼロ値、制御フローから始まり、スライス、マップ、構造体、インターフェース、Go コードを予測可能にするエラーハンドリングの規約を学びます。このトラックは sync パッケージ、goroutine、チャネル、並行プログラミング用の select ステートメント、キャンセレーション用の context パッケージをカバーしています。実践面では、net/http で HTTP サーバーとクライアントを構築し、Gin で REST API を作成し、ミドルウェアを追加し、database/sql、sqlx、pgx、GORM を使ってデータベースにアクセスし、Cobra で CLI ツールを構築し、Docker コンテナにアプリケーションを配置します。高度なトピックには、pprof でのベンチマーク、ワーカープール、パイプライン、gRPC、リフレクション、Go のメモリモデルが含まれます。

学習パス

51 のコースは A1 から A2、B1、B2、C1 へと進行します。A レベルのコースは言語の基礎を確立します。変数、制御フロー、関数、複数の戻り値、コア コレクション型などです。B1 は構造体、ポインタ、インターフェース、パッケージ、標準ライブラリ、ファイル I/O でモデルをさらに深掘ります。B2 が最大のブロックで、goroutine とチャネルから HTTP、テスト、ジェネリクス、データベースアクセス、Gin を使った REST API、Docker デプロイメント、slog を使った構造化ログ、WebSocket、cron ジョブまですべてをカバーしています。C1 は本番レベルの内容で締めくくります。ベンチマーク と pprof プロファイリング、ワーカープール とパイプライン、高度な並行処理パターン、Go による gRPC、reflect パッケージ、プラグインシステム、Go のメモリモデルとガベージコレクタです。

仕組み

各コースは短く、焦点を絞ったレッスンに分割されており、組み込みコードエディタでリアルタイムフィードバックを得ながら完了します。行き詰まったときは、AI チューターがインラインで概念を説明してくれるので、答えを渡されるのではなく、本当の理解を構築できます。

学習を始める →

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

51コース

Go Academyラーニングパスのすべてのコース

01

Goへようこそ

A13レッスン

Goとは何か、なぜGoogleが開発したのか、そしてなぜ世界で最も重要なソフトウェアの一部を支えているのかを、完全な初心者向けに学びます。

02

Goの基礎:変数、型、ゼロ値

A14レッスンPRO

Goの型システム、varと:=による変数宣言、ゼロ値、iotaを含む定数を学びます。

03

制御フロー:if、for、switch

A14レッスンPRO

Goの制御フロー構文を習得します。初期化文付きのif、柔軟なforループ、switchを扱います。

04

関数と複数の戻り値

A24レッスンPRO

Goの関数を理解します。シグネチャ、可変長パラメータ、名前付き戻り値、defer、第一級関数を学びます。

05

配列、スライス、マップ

A24レッスンPRO

Goのコレクションを詳しく学びます。固定長配列、動的なスライス、ハッシュマップを、Goらしい使い方とともに扱います。

06

Goの文字列とstringsパッケージ

A24レッスンPRO

Goの文字列とstringsパッケージ:ルーンとバイトの違い、stringsパッケージの関数などを学びます

07

fmtとStringerによるフォーマット

A24レッスンPRO

fmtとStringerによるフォーマット:Printfの動詞、SprintfとFprintfなどを学びます

08

Goの時間とtimeパッケージ

A24レッスンPRO

Goの時間とtimeパッケージ:時間と期間、フォーマットとパースなどを学びます

09

Goの構造体とメソッドの基礎

B14レッスンPRO

構造体でデータをモデル化し、メソッドで振る舞いを追加します。値レシーバとポインタレシーバの違いも理解します。

10

Goのポインタ

B14レッスンPRO

Goのポインタを理解します。メモリアドレス、デリファレンス、ポインタレシーバ、ポインタを使うべき場面を学びます。

11

Goのインターフェースとダックタイピング

B14レッスンPRO

Goの暗黙的なインターフェースシステムを学び、インターフェースの定義と実装、型アサーション、型switchを扱います。

12

Goのエラーハンドリング

B14レッスンPRO

Goの明示的なエラーハンドリングを習得します。errorインターフェース、errors.Is/As、ラッピング、カスタムエラー型を学びます。

13

Goのパッケージとモジュール

B14レッスンPRO

パッケージでGoのコードを整理し、Go modulesで依存関係を管理します。可視性のルールも理解します。

14

Go標準ライブラリの必須知識

B14レッスンPRO

Go標準ライブラリの重要なパッケージを巡ります。fmt、strings、strconv、math、time、osを実践例とともに学びます。

15

Goの正規表現

B14レッスンPRO

Goの正規表現:regexpの基礎、検索と抽出などを学びます

16

Goのソートとsortパッケージ

B14レッスンPRO

Goのソートとsortパッケージ:スライスのソート、カスタムソート順などを学びます

17

Goのマップ徹底解説

B14レッスンPRO

Goのマップ徹底解説:マップの内部構造、存在確認などを学びます

18

Goの構造体タグとバリデーション

B14レッスンPRO

Goの構造体タグとバリデーション:構造体タグとは何か、JSONタグなどを学びます

19

Goのエンコーディング形式

B14レッスンPRO

Goのエンコーディング形式:encoding/jsonの復習、encoding/xmlなどを学びます

20

ファイルI/OとJSON操作

B14レッスンPRO

osとbufioでファイルを読み書きし、encoding/jsonでJSONをエンコード・デコードします。CSVデータの扱いも学びます。

21

Goのbufioと効率的なI/O

B14レッスンPRO

Goのbufioと効率的なI/O:バッファ付きリーダー、スキャナーなどを学びます

22

Goの埋め込みとコンポジション

B14レッスンPRO

Goの埋め込みとコンポジション:構造体の埋め込み、インターフェースの埋め込みなどを学びます

23

Goroutineとチャネルの基礎

B24レッスンPRO

Goroutineを起動し、チャネルで通信します。バッファ付きチャネルを使いながら、Goの並行性モデルを理解します。

24

Select文とチャネルパターン

B24レッスンPRO

複数チャネルの通信にselectを使い、fan-in/fan-out、タイムアウト、ワーカープールを実装します。

25

Mutexとsyncパッケージ

B24レッスンPRO

GoのsyncパッケージにあるMutex、RWMutex、Once、WaitGroupで共有状態を保護します。

26

キャンセルのためのcontextパッケージ

B24レッスンPRO

context.Contextを使って、Goroutine間でキャンセル、期限、リクエストスコープの値を伝播させます。

27

net/httpによるHTTPサーバー

B24レッスンPRO

net/httpを使ってGoでHTTPサーバーを構築します。ハンドラ、ServeMux、ミドルウェア、グレースフルシャットダウンを扱います。

28

HTTPクライアントとREST APIの利用

B24レッスンPRO

Goのhttp.ClientでREST APIを利用します。タイムアウト、ヘッダー、認証、JSON解析、リトライを学びます。

29

Goのテスト戦略

B24レッスンPRO

Goのtestingパッケージで効果的なテストを記述します。テーブル駆動テスト、サブテスト、モック、テストカバレッジを扱います。

30

Goジェネリクス:型パラメータと制約

B24レッスンPRO

Go 1.18以降のジェネリクスを習得します。型パラメータ、制約、comparable、実際の開発で使えるジェネリックパターンを学びます。

31

Goのio.Readerとio.Writer

B24レッスンPRO

Goのio.Readerとio.Writer:Readerインターフェース、Writerインターフェースなどを学びます

32

GoのFunctional Optionsパターン

B24レッスンPRO

GoのFunctional Optionsパターン:多数のパラメーターの問題、オプション関数などを学びます

33

Goのレート制限

B24レッスンPRO

Goのレート制限:トークンバケットの概念、golang.org/x/time/rateなどを学びます

34

Goのdatabase/sql基礎

B24レッスンPRO

Goのdatabase/sql基礎:接続の開始、行のクエリなどを学びます

35

CobraでCLIアプリを構築

B24レッスンPRO

Cobraで本格的なコマンドラインツールを構築します。コマンド、フラグ、サブコマンド、設定、配布を扱います。

36

sqlxとpgxによるデータベースアクセス

B24レッスンPRO

database/sqlを使ってGoからPostgreSQLにクエリを実行します。構造体へのスキャンに使うsqlx、高性能なアクセスを実現するpgxも扱います。

37

GinでREST APIを構築

B24レッスンPRO

Ginフレームワークで本番環境向けのREST APIを作成します。ルーティング、バインディング、バリデーション、エラーハンドリングを学びます。

38

Goのミドルウェアパターン

B24レッスンPRO

再利用可能なHTTPミドルウェアを設計します。ロギング、レート制限、認証、CORS、リクエストIDの注入を扱います。

39

DockerでGoアプリケーションをデプロイ

B24レッスンPRO

マルチステージDockerビルド、Docker Compose、環境設定、ヘルスチェックを使ってGoのバイナリをコンテナ化します。

40

GoのGORM ORM

B24レッスンPRO

GoのGORM ORM:モデルとAutoMigrate、CRUD操作などを学びます

41

ViperによるGoの設定管理

B24レッスンPRO

ViperによるGoの設定管理:設定ファイルの読み込み、環境変数などを学びます

42

slogによるGoの構造化ロギング

B24レッスンPRO

slogによるGoの構造化ロギング:構造化ログを使う理由、slogハンドラーなどを学びます

43

GoのWebSockets

B24レッスンPRO

GoのWebSockets:WebSocketの基礎、gorilla/websocketの使用などを学びます

44

GoのCronジョブとスケジューリング

B24レッスンPRO

GoのCronジョブとスケジューリング:時間ベースのスケジューリング、robfig/cronライブラリなどを学びます

45

Goのベンチマークとpprofプロファイリング

C14レッスンPRO

ベンチマーク、pprofのCPU/ヒーププロファイル、実行トレースを使ってGoのコードを測定・最適化します。

46

Goのワーカープールとパイプライン

C14レッスンPRO

Goのワーカープールとパイプライン:ワーカープールパターン、Fan-OutとFan-Inなどを学びます

47

高度な並行処理パターン

C14レッスンPRO

パイプライン、errgroup、セマフォ、リアクターパターンを使って、本番環境向けの堅牢な並行システムを構築します。

48

GoでgRPC

C14レッスンPRO

Protocol Buffersでサービスを定義し、Goコードを生成します。単項およびストリーミング形式のgRPCサービスを実装します。

49

リフレクションとreflectパッケージ

C14レッスンPRO

reflectを使って実行時に型を調査・操作します。Kind、Value、構造体タグ、動的呼び出しを学びます。

50

Goのプラグインシステム

C14レッスンPRO

プラグインパッケージ、インターフェース、Linuxでの動的ロードを使って、拡張可能なGoアプリケーションを構築します。

51

Goのメモリモデルとガベージコレクタ

C14レッスンPRO

Goのメモリモデル、happens-beforeルール、スタックとヒープ、エスケープ解析、GCチューニングを理解します。

よくある質問

よくある質問

Go Academyコースは無料ですか?

はい。Go Academyコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

GOを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、GOの事前経験がなくても始められます。

CoddyKitでGOをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

Go Academyを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、Go Academyコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでGOを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもGOを学習でき、進捗がすべてのデバイスで同期されます。

Go Academyを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る