Go
エンジニアのためのWebチートシート
Go(Golang)は、Googleが開発した静的型付けのコンパイル言語です。 シンプルな構文、高速なコンパイル、組み込みの並行処理(goroutine)が特徴です。 基本構文、データ型、関数、構造体、エラー処理、並行処理などをチートシートにまとめました。
基本構文
変数宣言
var, :=, const による変数・定数の宣言です。
出力 & フォーマット
fmt パッケージによる出力とフォーマット指定子です。
iota & 型変換
iota による連番定数と明示的な型変換です。
データ型
Goの基本データ型の一覧です。
| 型 | 説明 |
|---|---|
bool | true / false |
string | UTF-8 文字列(イミュータブル) |
int, int8, int16, int32, int64 | 符号付き整数 |
uint, uint8, uint16, uint32, uint64 | 符号なし整数 |
float32, float64 | 浮動小数点数 |
byte | uint8 のエイリアス |
rune | int32 のエイリアス(Unicodeコードポイント) |
complex64, complex128 | 複素数 |
文字列操作
文字列リテラルと strings パッケージの主要関数です。
ポインタ
アドレス演算子とデリファレンスの基本です。
制御フロー
if / else
条件分岐です。初期化付きifも使えます。
for ループ
Goの唯一のループ構文です。while相当も for で書きます。
switch
式switchと条件なしswitchです。自動breakで fallthrough は明示的です。
関数
関数定義
複数戻り値と名前付き戻り値をサポートします。
可変長引数 & 無名関数
可変長引数、クロージャ、即時実行関数です。
defer
関数終了時に実行される遅延呼び出しです。LIFO順で実行されます。
データ構造
配列 & スライス
固定長の配列と可変長のスライスです。
マップ
キーと値のペアを持つデータ構造です。
ゼロ値 & 型アサーション
未初期化変数のデフォルト値と型アサーションです。
構造体 & インターフェース
構造体
構造体の定義、初期化、メソッドです。
埋め込み & コンポジション
構造体の埋め込みによるコンポジションです。
インターフェース
暗黙的に実装されるインターフェースです。
エラーハンドリング
基本
error 戻り値パターンとカスタムエラーです。
errors パッケージ
エラーのラップ、比較、型アサーションです。
panic & recover
パニックとリカバリーの基本です。
並行処理
goroutine
軽量スレッドで並行処理を実行します。
チャネル
goroutine間でデータをやり取りする仕組みです。
select & Mutex
複数チャネルの待ち受けと排他制御です。
パッケージ & ツール
パッケージ & インポート
パッケージの宣言とインポートの方法です。
Go コマンド
よく使うGoのCLIコマンドです。
引用・参考リンク
Related Cheatsheets
- 正規表現-正規表現(Regular Expression)は、文字列のパターンマッチングに使われる強力なツールです。 基本構文、量指定子、文字クラス、アンカー、グループ化、先読み・後読みなどをチートシートにまとめました。
- Python-Pythonは、シンプルで読みやすい構文が特徴の汎用プログラミング言語です。 データ型、制御構文、関数、クラス、リスト操作、ファイル操作などの基本をチートシートにまとめました。
- Rust-Rustは、安全性、速度、並行性を重視したシステムプログラミング言語です。 所有権システムによりメモリ安全性をコンパイル時に保証します。 基本構文、所有権、データ型、トレイト、エラー処理、コレクションなどをチートシートにまとめました。
- Flutter / Dart-Flutter は Google が開発したクロスプラットフォームUIフレームワークで、Dart 言語を使用します。 1つのコードベースで iOS、Android、Web、デスクトップアプリを開発できます。 Dart の基本構文、Null Safety、クラス、非同期処理、Widget、レイアウト、ナビゲーション、状態管理などをチートシートにまとめました。
Related Goods
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る


