初心者向け Golang 入門

本コースでは、実践的なラボと課題を通じて Go プログラミングの習得をガイドします。最初のプログラムの記述、パッケージ管理、データ型、制御フロー、そしてスライス、マップ、チャネル、無名関数といった Go 固有の機能など、重要な概念を学び、実世界のプログラミングタスクに取り組むための強固な基盤を構築します。

Go 言語

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

シラバス

Go 言語プログラミング入門ガイド

パーソナライズされた Go 言語の挨拶文の作成

GOPATH と Go モジュール

モジュール化された Go プロジェクトの構築

Go パッケージの作成とインポート

数学ユーティリティパッケージの構築

Go変数入門

書籍在庫管理変数の作成

Golang における演算子を用いたデータ処理

商品の割引価格の計算

Golang における数値型 (Numerical Types)

数値型の変換と計算

Go 言語における文字型

Unicode 絵文字のデコード

Go 言語の文字列の基本

ユーザー登録文字列の処理

Go 言語の定数の基礎

サーバーサイズの定数定義

Go 言語における if 分岐文

条件分岐によるタスクの分類

Golang の Switch-Case 分岐文

天気アドバイス Switch 文の実装

Golang の for ループ

Go のループによる文字列の反転

goto 文の使い方

Goto 文を用いた入れ子構造のループの簡素化

Go 言語における配列操作

従業員名配列の初期化

Go 言語における多次元配列

学生成績管理システムの設計

Golang のスライスデータ構造

スライスによるログフィルタリングのチャレンジ

Go 言語の辞書の基本

Go のマップを使用した学生の成績管理

Go のマップ(辞書)のソート

学生の成績を動的にソートする

Golang におけるチャネルの基本操作

シンプルなチャネル・データパイプラインの構築

Go 言語における構造体

Go 言語による学生構造体の設計

Go 言語における関数

柔軟な計算関数の設計

Go 言語における匿名関数

柔軟な数値変換システムの設計

はじめに

22 組のガイド付きラボとチャレンジ、合計 44 のハンズオンラボで Go の幅広い基礎を築きます。提供される WebIDE でプログラムを書いて実行し、例から概念を学んだ後、焦点を絞った課題で応用力を確認します。

構文、module、package、データ型から制御フローと collection へ進み、後半では struct、柔軟な関数パターン、channel を扱います。Beginner から始まりますが、複数の Intermediate チャレンジと 1 つの Advanced channel pipeline が含まれます。

学習内容

このコースを修了すると、次のことができるようになります。

  • 基本的な Go プログラムを書いて実行し、その構造を説明して一般的な fmt 関数を使う。
  • Go Modules と package でプロジェクトを整理し、import を管理して公開・非公開関数を区別する。
  • 変数と定数を宣言し、演算子、数値、bool、string、byte、rune、Unicode、iota を使う。
  • if、switch、for、break、continue、目的を絞った goto で分岐と反復を表す。
  • array、多次元 array、slice、map のデータを作成、走査、更新、コピー、filter、sort する。
  • struct を定義・初期化し、関連する値を明確なデータモデルにまとめる。
  • 複数の戻り値や可変長引数を持つ関数を書き、無名関数を即時実行や callback に使う。
  • 型と方向を指定した channel を作り、単純な pipeline で producer と consumer goroutine を接続する。

このコースの対象者

各テーマの後に実践しながら Go を幅広く学びたい初学者向けです。別の言語から移行し、Go の module、collection、関数、channel モデルを手を動かして学びたいプログラマーにも適しています。

前提知識: Go の経験は不要です。コマンド入力とソースファイル編集ができる必要があり、変数、条件、loop、関数などの基本的なプログラミング概念を知っていると進めやすくなります。

学習環境: 44 のラボは Go ツールが用意された Ubuntu 22.04 WebIDE で実行します。主にターミナルとエディタを使い、各ガイド付きテーマの後に短い coding challenge が続きます。

よくある質問

44 のラボはどのように構成されていますか?

22 のテーマごとに、Go の概念を説明・実演するガイド付きラボと、その概念で小さなプログラムや関数を作るチャレンジが組になっています。

すべて Beginner の演習ですか?

いいえ。ガイド付きラボは Beginner ですが、複数の応用チャレンジは Intermediate、producer-consumer channel pipeline は Advanced です。序盤は段階的ですが、後半では自力で考える必要があります。

Go の concurrency はどこまで扱いますか?

channel の宣言、初期化、送受信、block、方向、および単純な goroutine pipeline を扱います。より広い本番 concurrency pattern、同期 primitive、cancel、分散 system は含みません。

Web service や database application を作りますか?

いいえ。対象は Go 言語と小さな command-line program です。HTTP server、framework、database、testing package、本番 service architecture は範囲外です。

講師

labby
Labby
Labby is the LabEx teacher.