Go

Go上級 #1 並行性パターン — fan-out・fan-in・pipeline
読了 6分

Go上級 #1 並行性パターン — fan-out・fan-in・pipeline

ゴルーチンとチャネルを組み立てて作る標準的な並行性パターン — pipeline、fan-out/fan-in、semaphore まで。

Go中級 #7 標準ライブラリツアー
読了 6分

Go中級 #7 標準ライブラリツアー

Go 標準ライブラリでよく使うもの — io、fmt、strings、time、sort、encoding/json までを一気に見渡します。

Go中級 #6 テスティング — testing パッケージと table-driven
読了 6分

Go中級 #6 テスティング — testing パッケージと table-driven

Go 標準 testing パッケージでユニットテストとベンチマークを書く方法、そして Go コードの標準パターンである table-driven テスト。

Go中級 #5 context.Context 深掘り
読了 6分

Go中級 #5 context.Context 深掘り

Goの標準キャンセル・タイムアウト・リクエストデータ伝達ツール。context が並行コードの骨格になる理由。

Go中級 #4 selectとタイムアウト
読了 5分

Go中級 #4 selectとタイムアウト

複数のチャネルを同時に扱うselect文、そしてタイムアウト・キャンセル・ノンブロック通信のような実践パターン。

Go中級 #3 ゴルーチンとチャネル入門
読了 7分

Go中級 #3 ゴルーチンとチャネル入門

Goの最大の強み — 軽量な並行性。ゴルーチンの起動とチャネルでの通信、そしてよく出会う罠。

Go中級 #2 エラー処理パターン
読了 7分

Go中級 #2 エラー処理パターン

エラーwrapping (%w)、errors.Isとerrors.As、カスタムエラー型、そしてpanicが似合う場面。

Go中級 #1 インターフェース — 暗黙的実装の意味
読了 8分

Go中級 #1 インターフェース — 暗黙的実装の意味

Goインターフェースの最大の特徴である暗黙的実装、小さなインターフェースのガイド、そして空インターフェースと型アサーション・型switch。

Go基礎 #7 パッケージとモジュール (go mod)
読了 7分

Go基礎 #7 パッケージとモジュール (go mod)

Goのコード組織化 — パッケージ単位で分割し、外部パッケージを取り込み、go modで依存関係を管理するすべて。

Go基礎 #6 構造体とメソッド
読了 7分

Go基礎 #6 構造体とメソッド

structでユーザー定義型を作りメソッドを付ける方法、値レシーバ vs ポインタレシーバ、そして埋め込みパターン。

Go基礎 #5 コレクション — array, slice, map
読了 6分

Go基礎 #5 コレクション — array, slice, map

Goの3つのコレクション — 固定長array、可変slice、キー値map。動作原理とよく出会う罠まで。

Go基礎 #4 関数、多値返却、error型
読了 6分

Go基礎 #4 関数、多値返却、error型

関数定義の様々な形、Go独自の多値返却パターン、そして最もよく出会うerror型と if err != nil 慣用句。