goの構造体コンストラクタの使い方は?

Goでは構造体はユーザー定義のデータ型で、異なる型のデータのフィールドを格納します。構造体では、構造体インスタンスを作成するためのコンストラクター関数を定義できます。

コンストラクタは、構造体のフィールドの値を初期化するために利用する特別な関数です。Go言語では、一般的にコンストラクタの命名はNewで始まり、構造体のインスタンスへのポインタを返します。

以下に、構造体のコンストラクタの定義および使用方法を示す例を示します。

package main
import (
"fmt"
)
type Person struct {
Name string
Age  int
}
func NewPerson(name string, age int) *Person {
p := Person{Name: name, Age: age}
return &p
}
func main() {
p := NewPerson("Alice", 25)
fmt.Println(p.Name, p.Age)
}

上記サンプルでは、「Person」構造体が定義されており、「NewPerson」コンストラクター関数も定義されています。この関数は、「name」と「age」という2つの引数を受け取り、これらを使用して「Person」構造体のインスタンス「p」を初期化します。その後、関数は「p」を指すポインターを返します。

main関数で、NewPerson関数を呼び出してPerson構造体のインスタンスを生成し、変数pに代入する。 その後、pを通して構造体のNameフィールドとAgeフィールドにアクセスし、それらを出力する。

アリスは25歳

このように構造関数は構造体のインスタンスを作成して初期化するために使用することができ、コードがより明確かつ保守しやすくなります。

bannerAds