【Go言語】構造体におけるポインタメソッドの使いどころ
Go言語ではレシーバを引数にとることで型のメソッドを定義できます。1 Go言語のレシーバには『変数レシーバ』と『ポインタレシーバ』の2種類があります。 変数レシーバは値レシーバと呼ぶこともありますが、A Tour of …
Go言語ではレシーバを引数にとることで型のメソッドを定義できます。1 Go言語のレシーバには『変数レシーバ』と『ポインタレシーバ』の2種類があります。 変数レシーバは値レシーバと呼ぶこともありますが、A Tour of …
スライスとは可変長の配列のことです。 Go言語でWeb APIを実装する場合(= JSONレスポンスを作成する場合)などで以下のような『構造体を要素に持つスライス』を作成する機会があります。 users = [ { “n…
Go言語の構造体の初期化方法には以下のパターンがあります。 ポインタ型を使わない場合 『変数定義 → フィールド値のセット』と2段階で初期化する方法 構造体リテラルでフィールド値をセットする方法 ポインタ型を使う場合 ア…
Go言語によるREST APIの実装方法を紹介します。 今回は例としてシンプルなCRUD API(GET、POST、PUT、DELETE)を実装します。 Go言語は1.16.3、フレームワークはEcho v4.2.2、O…
データベース接続をするGo言語製HTTPサーバのDocker環境構築について紹介します。 『コンテナ上のHTTPサーバとデータベースの疎通確認をする』をゴールとします。 Goは1.16.3、データベースはMySQL 8….
Go言語でデータベースに接続するための方法について紹介します。 今回はMySQLを利用します。 Go言語でデータベースへ接続する手順 以下では各手順について紹介します。 データベース接続のパッケージをインポート データベ…
先日、Go言語のホットリロードツール『Air』でコードの修正を即時反映させるでAirを利用したホットリロード可能なHTTPサーバの紹介をしました。 今回は『Air + Go言語』のDocker環境を構築する手順について紹…
ホットリロードを導入することで開発の作業効率の向上が期待できます。 Go言語のホットリロードツールではRealizeやAirが有名です。 しかし2021年5月現在、Realizeはdeprecated(非推奨)の公式発表…
Go言語のデバッガはDelveとGDBが人気です。 GDBのドキュメントには以下のような記載があり、Delveの利用を推奨しています。 Note that Delve is a better alternative to…
goimportsとはGo言語の準標準パッケージ(サブレポジトリ)であるGo Toolsに内包されている静的解析ツールです。 goimportsの機能は以下の通りです。 goimportsはパッケージのインポートを修正す…
2021年5月現在、Go言語のパッケージ管理はGo Modulesが標準となっています。 今回はGo Modulesを利用してGo言語を実行する手順について紹介します。 ローカル環境で初めてGo言語を実行する人向けの記事…
Go言語の勉強を始めたのですが、パッケージ管理の歴史的背景を知らず混乱したため、パッケージ管理方法についてまとめました。 なお、この記事は2021年5月現在(Go 1.16.3)の情報です。 Go言語のパッケージ管理方法…