ホームページ  >  記事  >  バックエンド開発  >  インポートされた埋め込み構造リテラルに値を指定するにはどうすればよいですか?

インポートされた埋め込み構造リテラルに値を指定するにはどうすればよいですか?

WBOY
WBOY転載
2024-02-05 21:54:111121ブラウズ

インポートされた埋め込み構造リテラルに値を指定するにはどうすればよいですか?

#質問の内容

初心者です:) 私は理解できない###

ファイルでこれを行う場合:

scratch.go

リーリー ###それは動作します しかし、このようなファイルが 3 つある場合 リーリー

magazine/address.go

リーリー magazine/employee.go

リーリー ###そして main.go

リーリー ###間違い:(### リーリー

分かりません、何を間違えたのでしょうか?構造が入れ子になっている場合、それは外部構造に埋め込まれていると言われ、外部構造から内部構造のフィールドにアクセスできると思います。これは最初の例 (単一ファイル) の場合ですが、これをパッケージで実行した場合です。違いはありますか?

正解

構造が入れ子になっている場合、それは外部構造に埋め込まれていると言われ、内部構造のフィールドにアクセスできると思います。外部構造。


はい、埋め込みフィールドのメンバーに直接アクセスできますが、これは

複合リテラル

を使用して行われます。構造化リテラルのルールを見ると、次のことがわかります:

いずれかの要素にキーがある場合、すべての要素にキーが必要です。

このルールは、フィールドが埋め込まれているかどうかに関係なく適用されます。 エラーを修正するには、他のキーを削除します:

リーリー

または、すべてのキーを指定することもできます:

リーリー

埋め込みフィールドの場合、型の非修飾名を使用して埋め込みフィールドを参照できることに注意してください。

https://www.php.cn/link/2eeb0ca3f02a275d5179f3b6d9e86e7d

型を指定して宣言されているが、明示的なフィールド名が指定されていないフィールドは、埋め込みフィールドと呼ばれます。埋め込みフィールドは、型名

t

または非インターフェイス型名 *t へのポインタとして指定する必要があり、

t

自体はポインタ型でなくてもかまいません。 修飾されていない型名はフィールド名として機能します

以上がインポートされた埋め込み構造リテラルに値を指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。