【Go言語】bytes.Bufferを使っていてメモリ解放できない原因を解説する
bytes.Bufferはバッファリングされたデータをメモリ上に保持するGo言語の標準ライブラリです。 このバッファを使用するとプログラム実行中にメモリ使用量が増えるため、ちゃんと管理してあげることが必要です。 今回はこ…
bytes.Bufferはバッファリングされたデータをメモリ上に保持するGo言語の標準ライブラリです。 このバッファを使用するとプログラム実行中にメモリ使用量が増えるため、ちゃんと管理してあげることが必要です。 今回はこ…
Go言語を使っていると必ず目にするエラーの”declared and not used”。 日本語の意味としては”宣言されているけど使われていない”です。このエラーの意味と解消する方法について解説…
Go言語でファイルを1行ずつ読み込む方法です。 ファイルを開いてループ処理で1行ずつ処理したい場合ってありますよね?今回はそんなケースで利用できるコードです。 ファイルを一行ずつ読み込む方法 ファイルを読み込むためにbu…
Go言語で入れ子になったstructを初期化する方法を解説します。 構造体の初期化関数を使えば入れ子になったstructを初期化することです。 以下が入れ子の構造体を初期化するサンプルコードです。 type YourSt…
Go言語でゴルーチンを処理の途中で停止するには、ゴルーチンに終了のシグナルを送信するためにチャネルを使用します。 難しくないのでシンプルな解説のみ。 【Go言語】ゴルーチンを停止する方法はチャネルを使う チャネルを介して…
Go言語でスライスを関数の引数に渡すときには参照渡しされます。つまり、関数内でスライスを変更すると、引数として渡した元のスライスにもその変更が反映されます。 以下はそれを検証するサンプルコードです。 package ma…
Go言語ではオブジェクトの型を知るために reflect パッケージを使います。 reflect.TypeOf()関数は与えられた値の型を reflect.Type オブジェクトとして返します。 まずはこちらのサンプルコ…
Go言語の構造体のタグの使い方と用途をサンプルコードを使って解説します! 他の言語にないため、ちょっと理解するのに苦労しますよね。 そこで今回、丁寧にタグを使う理由や使い方を記事にしました。 構造体のタグの用途、使いみち…
Go言語でファイルが存在するかどうかを確認するには、os.Stat関数を使用します。 csvファイルや画像ファイルなどの処理に使える処理になります。 os.Stat関数でファイルの存在確認をする方法 以下、サンプルコード…
Go言語にはオプションパラメータの機能はありません。しかし、構造体のインスタンス化関数に別の構造体を使ってオプションパラメータを表現することができます。 構造体を使用するとフィールドが欠落している場合そのフィールドの既定…