Go Lang
【Go言語】implements 宣言は不要?「ダックタイピング」なインターフェースの衝撃 1. ダックタイピング:「アヒルみたいに歩くなら、それはアヒルだ」 2. コードで比較:Java/C# vs Go Java / C# の場合(明示的) Go の場合(暗黙的) 3. なぜこの仕様なの…
【Go言語】Java/C#エンジニアが「finally」から解放される魔法の言葉 defer 1. 一言で言うと:「予約された後始末」 2. Java/C# との比較:ファイルの読み込み Java (Classic Style) / C# (Old Style) C# (using statement) / Java (try-with-resources) Go …
【Go言語】Java/C#エンジニアが最初に戸惑う case msg, ok := <-ch の正体を解剖する 1. 全体像:これは「ノンブロッキングなキューの監視」 2. 構文の徹底分解 <-c.send (受信) message (値の受け取り) ok (最重要:生存確認フラグ) := (短縮変数宣…
【完結編】errgroup:並行処理の「めんどくさい」を全部やってくれる魔法のツール なぜ errgroup なのか? 準備 実装コード:驚きの短さ コードの比較:何が良くなった? 1. ワーカープールを作る必要がない 2. エラー処理が単純 3. キャンセル処理が自動 ま…
【発展編】ワーカープールに「エラーハンドリング」を実装する 戦略:Result構造体パターン 実装コード:エラーを報告するワーカー 解説:このパターンのメリット 1. ワーカーの責務を分離する 2. メイン側でポリシーを決められる 補足:リトライ(再試行)…
【応用編】for select で作る堅牢なワーカープール なぜワーカープールが必要なのか? 実装コード:キャンセル可能なワーカー コードのポイント解説 1. select による優先順位の制御 2. 並行数の制限 3. Graceful Shutdown(安全な停止) まとめ 次のアクシ…
Go言語の『for select』パターン完全ガイド:並行処理の基本をマスターしよう そもそも for select とは? 基本的な構文 実践パターン:これだけは覚えよう 1.停止シグナル(Doneチャネル)の実装 2.タイムアウト処理 3.ノンブロッキング受信(default節) …
goroutineとは? - "超軽量"な実行単位 記述がシンプル ☕ Javaのスレッドと比較する Javaのスレッドは"重量級" Javaのサンプルコード なぜgoroutineはスゴイのか? まとめ 現代のソフトウェア開発、特にWebサービスやAPIサーバーの分野では、「同時にたく…
アルゴリズムって、そもそも何? 基本の「ソート」アルゴリズム:バブルソート バブルソートの仕組み Goでのサンプルコード 効率的な「探索」アルゴリズム:二分探索 二分探索の仕組み Goでのサンプルコード まとめ プログラミングの心臓部!アルゴリズムの…
Go言語のmapを使いこなそう!基本的な使い方から応用まで徹底解説 ️ mapの基本:宣言、初期化、操作 宣言と初期化 値の追加・更新・取得 キーの存在確認 要素の削除 mapの応用 for ... range でループ処理 構造体を値として使う mapを使う上での注意点 まと…
はじめに - Go言語の世界へようこそ Go言語とは? その特徴と魅力 Go言語の主な特徴 Go言語がよく使われる分野 Go言語の開発環境を構築しよう Windowsでの環境構築 macOSでの環境構築 Linuxでの環境構築 Goのワークスペース Go言語の基本的な文法と構文 基本…
Go言語で文字列が日付形式か判定!time パッケージを使いこなす 1. time.Parse() 関数を使った基本的な判定 2. 複数の日付フォーマットに対応する 3. より厳密な判定のために:ParseStrictLayout() 4. タイムゾーンを考慮した判定 まとめ Go言語で文字列が日…
Go言語で文字列を自在に操る!基本操作から応用テクニックまで Go言語の基本的な構文はこちらの記事で紹介してます。 1. 文字列の基本 文字列の作成 文字列の長さ 文字列へのアクセス 2. 文字列の結合 3. 文字列の比較 4. 文字列の検索 5. 文字列の置換 6. …