ホームページ >バックエンド開発 >Golang >マップされたインターフェイス {} と型構造 {} の違いは何ですか?

マップされたインターフェイス {} と型構造 {} の違いは何ですか?

WBOY
WBOY転載
2024-02-06 09:00:05897ブラウズ

マップされたインターフェイス {} と型構造 {} の違いは何ですか?

質問の内容

map[Type]interface{} が Type 型のキーのマッピングを指定し、その値が any であると読みました。インターフェース{}です。

これは構造体を定義すること、つまり Name struct{ key1; value1, ...., keyn: valuen} と入力するのとほぼ同じではないでしょうか?

これら 2 種類のマッピングの違いは何ですか?

https://www.digitalocean.com/community/tutorials/how-to-use-json-in-goを読みましたが、違いがまだわかりません。

あるいは、より一般的な方法で定義した map[type] インターフェース{}との違いは何でしょうか?

構造体を通じて各キーと値のペアを定義しますか?

これら 2 つのメソッドは、キーと値のペアで構成されるオブジェクトを定義するだけですか?


正解


構造とマッピングは異なるデータ構造です。それらには多くの違いがあります。ここではほんの一部を紹介します:

構造体には固定数のフィールドがあり、これらのフィールドは一度宣言されると変更できません。

3a15cefd8a1cc7ac8a7f27a0d3f9b13

マップは実行時に拡大または縮小する可能性があります。

リーリー

マップ エントリをループすることができます。

リーリー

構造体は反復をサポートしません (リフレクションを使用しない限り)。

構造フィールドにはラベル (追加属性) を含めることができます:

リーリー

地図にはこの機能はありません。

以上がマップされたインターフェイス {} と型構造 {} の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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