ホームページ >バックエンド開発 >Golang >Go マップのオブジェクト内の配列に値を追加するにはどうすればよいですか?

Go マップのオブジェクト内の配列に値を追加するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 06:30:03278ブラウズ

How to Append Values to Arrays Within Objects in a Go Map?

Go でマップ内の配列に値を追加する

Go では、カスタム タイプのオブジェクトを保持するマップを作成できます。これらのオブジェクト内の配列に値を追加するには、まずオブジェクトのインスタンスを作成し、それをマップに割り当てる必要があります。

間違ったアプローチ

コード内、マップの初期化内で Example 構造体の AppendExample メソッドに直接アクセスしようとしています。ただし、基になるオブジェクトを最初に参照せずに、マップ値でドット演算子を使用することはできません。

<code class="go">MyMap["key1"] = Oferty.AppendExample(1, "SomeText")</code>

正しいアプローチ

オブジェクト内の配列に値を正しく追加するには

  1. Example オブジェクトのインスタンスを作成し、その配列を設定します。
  2. アスタリスク * 演算子を使用して、このオブジェクトへの参照をマップに割り当てます。
<code class="go">obj := &Example{[]int{}, []string{}}
obj.AppendExample(1, "SomeText")
MyMap = make(map[string]*Example)
MyMap["key1"] = obj</code>

このアプローチにより、マップが実際のオブジェクトへの参照を保持し、後でその配列を変更できるようになります。

以上がGo マップのオブジェクト内の配列に値を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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