Go 言語には構造体のコンストラクタ用の文法は用意されていません。 通常の関数の形で構造体のファクトリ関数を実装します。 ただ、簡単なプログラムであれば、下記のような初期化リストを使ったオブジェクト生成で間に合ってしまいます。
b := Book{Title: "Title", Price: 2500}
任意のパラメータからオブジェクトを生成できるようにしたい場合は、New
で始まる名前のファクトリ関数を作成し、構造体のポインタを返す のが慣例となっています。
上記では、book
パッケージの中で Book
構造体とそのファクトリ関数を定義してみました。
外部の main
パッケージから使用する場合は、下記のような感じのコードになります。