本文へスキップ
基本構文
| 構文 | 用途 | 例 |
var x int | 変数宣言 | var name string = "Go" |
x := 値 | 短縮宣言 | age := 15 |
const | 定数 | const Pi = 3.14 |
fmt.Println() | 出力 | fmt.Println("Hello") |
fmt.Sprintf() | フォーマット | fmt.Sprintf("%s: %d", name, age) |
制御構文
| 構文 | 用途 | 例 |
if | 条件分岐 | if x > 0 { ... } |
for | 繰り返し(唯一のループ) | for i := 0; i < 10; i++ { ... } |
for range | コレクション走査 | for i, v := range slice { ... } |
switch | 多分岐 | switch x { case 1: ... } |
データ構造
| 型 | 用途 | 例 |
[]T (slice) | 可変長配列 | nums := []int3 |
map[K]V | キーと値のペア | m := map[string]int{"a": 1} |
struct | 構造体 | type User struct { Name string } |
append() | スライスに追加 | nums = append(nums, 4) |
len() | 長さ取得 | len(nums) |
関数
| 構文 | 用途 | 例 |
func name() T | 関数定義 | func add(a, b int) int { return a + b } |
複数戻り値 | 複数の値を返す | func div(a, b int) (int, error) |
defer | 関数終了時に実行 | defer file.Close() |
func() | 無名関数 | fn := func(x int) int { return x * 2 } |
並行処理
| 構文 | 用途 | 例 |
go func() | goroutine起動 | go doWork() |
chan T | チャネル | ch := make(chan int) |
ch <- v | チャネルに送信 | ch <- 42 |
v := <-ch | チャネルから受信 | result := <-ch |
select | 複数チャネル待機 | select { case v := <-ch: ... } |
エラーハンドリング
| 構文 | 用途 | 例 |
error | エラー型 | if err != nil { return err } |
errors.New() | エラー作成 | errors.New("not found") |
fmt.Errorf() | エラーラップ | fmt.Errorf("wrap: %w", err) |
panic / recover | 致命的エラー | panic("fatal error") |
パッケージ管理
| コマンド | 用途 | 例 |
go mod init | モジュール初期化 | go mod init myapp |
go get | パッケージ追加 | go get github.com/gin-gonic/gin |
go build | ビルド | go build -o app . |
go run | 実行 | go run main.go |
go test | テスト実行 | go test ./... |
← チートシート一覧に戻る
このサイトではGoogle Analyticsを使用しています。学習体験の改善に役立てます。詳細