Go のコンストラクター
Go で構造体として定義されたカスタム型を扱う場合、適切なデフォルト値で初期化することが望ましい場合があります。創造。ただし、従来のオブジェクト指向プログラミング言語とは異なり、Go には構造体専用のコンストラクターがありません。
コンストラクターの代替: 新しい関数
この状況に対処するために、Go エンジニアは一般的に「新しい」機能が使用されます。これらの関数は、初期化に必要なパラメータを受け取り、新しい構造体インスタンスへのポインタを返します:
type Thing struct { Name string Num int } func NewThing(someParameter string) *Thing { p := new(Thing) p.Name = someParameter p.Num = 33 return p }
このアプローチにより、「Num」フィールドに値を割り当てるなど、特定のデフォルトで構造体の値を初期化できます。 .
凝縮された新しい関数構文
単純な構造体の場合、圧縮された構文を使用できます。
func NewThing(someParameter string) *Thing { return &Thing{someParameter, 33} }
非ポインター戻り型
ポインターを返したくない場合は、代わりに「make」関数を使用できます。 「新規」の:
func makeThing(name string) Thing { return Thing{name, 33} }
以上がコンストラクターを使用せずに Go で構造体を初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。