ホームページ >バックエンド開発 >Golang >Go言語で構造体のメンバー変数を初期化する方法

Go言語で構造体のメンバー変数を初期化する方法

青灯夜游
青灯夜游オリジナル
2021-06-07 15:31:213421ブラウズ

初期化方法: 1. 「ins := 構造型名 {フィールド 1: 値、フィールド 2: 値、...}」ステートメントを使用して初期化します。これは、多くのフィールドを含む構造体を選択的に埋めるのに適しています。 ; 2. 「ins := 構造型名 {フィールド 1 の値, フィールド 2 の値,...}」ステートメントを使用して初期化します。これは、フィールドの数が少ない構造に適しています。

Go言語で構造体のメンバー変数を初期化する方法

このチュートリアルの動作環境: Windows 10 システム、GO 1.11.2、Dell G3 コンピューター。

構造体はインスタンス化時にメンバー変数を直接初期化することができます。初期化にはフィールド「キーと値のペア」形式と複数の値のリスト形式の 2 つの形式があります。キーと値の形式での初期化ペアが適しています。より多くのフィールドを含む構造を選択的に埋めます。複数の値のリスト形式は、フィールドが少ない構造に適しています。

「キー値ペア」を使用して構造体を初期化します

構造体は「キー値ペア」(キー値ペア) を使用して初期化できます各「キー」(Key)は構造体のフィールドに対応し、キーの「値」(Value)はフィールドを初期化する必要がある値に対応します。

キーと値のペアの入力はオプションであり、初期化を必要としないフィールドは初期化リストに入力する必要はありません。

構造体がインスタンス化された後のフィールドのデフォルト値は、フィールド タイプのデフォルト値です。たとえば、値は 0、文字列は "" (空の文字列)、ブール値は false、ポインタが nil など。

1) キーと値のペアの初期化構造体の記述形式

キーと値のペアの初期化の形式は次のとおりです:

ins := 结构体类型名{
    字段1: 字段1的值,
    字段2: 字段2的值,
    …
}

以下は各部の説明です。 説明:

  • 構造体の型:構造体を定義する際の型名です。

  • フィールド 1、フィールド 2: 構造体メンバーのフィールド名。フィールド名は、構造体型名のフィールド初期化リストに 1 回だけ出現できます。

  • フィールド 1 の値、フィールド 2 の値: 構造体メンバー フィールドの初期値。

キー値は : で区切られ、キー値のペアは , で区切られます。

2) キーと値のペアを使用して構造を埋める例

次の例は、童謡のように、家族内の登場人物間の関係を示しています。 「お父さんのお父さんは「おじいちゃん」です。マルチレベルの子を使用して、文字間の関係を記述および確立できます。キーと値のペアの形式で構造を埋めるコードは次のとおりです。

type People struct {
    name  string
    child *People
}
relation := &People{
    name: "爷爷",
    child: &People{
        name: "爸爸",
        child: &People{
                name: "我",
        },
    },
}

コード説明は次のとおりです。

  • 行 1 は People 構造を定義します。

  • 行 2、構造体の文字列フィールド。

  • 行 3、構造体の構造体ポインター フィールド、タイプは *People です。

  • 6 行目、リレーションが People タイプからアドレスを取得した後、タイプ *People のインスタンスが形成されます。

  • 8 行目、子を初期化するときに *People 型の値が必要で、そのアドレスを使用して People を初期化します。

ヒント: 構造体のメンバーには、構造体のポインター型のみを含めることができます。非ポインター型を含めるとコンパイル エラーが発生します。

複数の値のリストを使用して構造を初期化する

Go 言語は、「キー」に基づいて「キー」を無視できます。 -value ペア」の初期化、つまり、複数の値のリストを使用して構造体のフィールドを初期化できます。

1) 複数値リストの初期化構造体の記述形式

初期化構造体内で複数の値を区切るにはカンマを使用します。例:

ins := 结构体类型名{
    字段1的值,
    字段2的值,
    …
}

Use この形式を初期化するときは、次の点に注意してください:

  • 構造体のすべてのフィールドを初期化する必要があります。

  • 各初期値の入力順序は、構造内のフィールドの宣言順序と一致している必要があります。

  • キーと値のペアと値リストの初期化形式を混合することはできません。

2) 複数値リストの初期化構造体の例

次の例はアドレス構造体を示しており、アドレスは特定の順序、例:

type Address struct {
    Province    string
    City        string
    ZipCode     int
    PhoneNumber string
}
addr := Address{
    "四川",
    "成都",
    610000,
    "0",
}
fmt.Println(addr)

コードを実行すると、出力は次のようになります:

{四川 成都 610000 0}

推奨学習: Golang チュートリアル

以上がGo言語で構造体のメンバー変数を初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。