構造体のフィールドにアクセスしようとすると、エラーが発生します:
invalid memory address or nil pointer dereference gdreport/main.go:30 +0x1e6
Thisこのエラーは、マップが空のポインターで初期化され、その結果、マップの値が nil になるために発生します。 elements.
condition := map[string]*guardduty.Condition{}
この問題を解決するには、マップが有効なポインターで初期化されていることを確認してください。以下に例を示します。
condition := map[string]*guardduty.Condition{ "id": &guardduty.Condition{ Equals: strPtr, }, }
ポインターを使用して新しい条件を割り当てると、nil ポインター逆参照エラーが発生することなく、そのフィールドにアクセスできます。
以上がGo でマップ フィールドにアクセスすると「Nil Pointer Dereference」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。