永遠に十七歳
Goとかいろいろやってます
アイコンはノーコピーライトガールから
Goとかいろいろやってます
アイコンはノーコピーライトガールから
Go では構造体のポインタを扱う機会が非常に多いですが、フィールドアクセスの記法は値の場合とまったく同じです。これは Go のコ...
Go のメソッドにはレシーバという仕組みがあり、構造体に振る舞いを持たせることができます。レシーバには「バリューレシーバ」と「ポ...
Go の関数は引数を常に「値渡し」で受け取ります。これは変数のコピーが作られるということであり、関数の中で引数を変更しても呼び出...
Go ではすべての型にゼロ値が定められています。int なら `0`、string なら `""`、bool なら `false...
Go でポインタを作る方法は複数あります。状況に応じて使い分けることになりますが、それぞれの挙動の違いを把握しておくことが重要で...
プログラミングにおいて、変数はメモリ上のどこかに格納されています。ポインタとは、その「どこか」を指し示す値のことです。Go では...
HTTP ハンドラを書いたら、それが正しく動くかテストしたい。ブラウザや curl で手動確認するのは手軽だが、コードを変更する...
HTTP ハンドラを書いたら、それが正しく動くかテストしたい。ブラウザや curl で手動確認するのは手軽だが、コードを変更する...
Web アプリケーションでファイルアップロードを実装する場面は多い。プロフィール画像の変更、CSV データのインポート、ドキュメ...
HTTP サーバーを本番環境で運用するとき、プロセスを停止する場面は必ず訪れる。デプロイ、スケールイン、障害対応——理由はさまざ...
goroutine を複数起動して並行処理を行うとき、エラーの扱いは途端に複雑になる。どの goroutine がエラーを返した...
ファイル操作はエラーが起きやすい処理の代表格だ。ファイルが存在しない、権限がない、ディスク容量が足りない、別のプロセスがロックし...
Go のエラーハンドリングでは、エラーの「種類」を判定したい場面が頻繁にある。データベースにレコードが見つからなかったのか、権限...
Go の標準 net/http でハンドラを書いていると、エラー処理のコードが各ハンドラに散らばりがちになる。ステータスコードの...
Web アプリケーションでは、ユーザーからの入力を検証し、不正な値があれば適切なエラーメッセージを返す必要がある。Go では標準...
テーブル駆動テストと組み合わせて使われることが多いのが `t.Run` によるサブテストだ。各テストケースに名前を付けて独立した...
Go のテストで最もよく使われるパターンがテーブル駆動テスト(Table-Driven Test)だ。複数の入力と期待値をスライ...
Go には標準ライブラリに testing パッケージが組み込まれており、外部ツールなしでテストを書いて実行できる。他の言語では...
Go では関数は第一級オブジェクトとして扱われる。つまり、関数を変数に代入するだけでなく、別の関数の引数として渡したり、戻り値と...
Go では関数に名前を付けずに定義できる。これを無名関数(匿名関数)と呼ぶ。無名関数は変数に代入したり、その場で即時実行したりで...
Go では、関数の引数の数を固定せず、任意の個数の引数を受け取れる「可変長引数」がサポートされている。`fmt.Println`...
Go の関数は、複数の値を同時に返すことができる。多くの言語では戻り値は 1 つが基本だが、Go では最初から複数戻り値が言語仕...
HTTP はステートレスなプロトコルなので、リクエストをまたいで状態を保持するには Cookie やセッションの仕組みが必要にな...
Go の標準ライブラリには `http.FileServer` というハンドラが用意されており、HTML・CSS・JavaScr...