Go の無効なメモリ アドレスまたは nil ポインター逆参照です。map[string]*type
マップ内の値にアクセスしようとすると、 「無効なメモリアドレスまたは nil ポインタ逆参照」エラーが発生する場合があります。このエラーは、クエリ対象のキーがマップ内に存在しない場合、またはそのキーに格納されている値が nil ポインターである場合に発生します。
この特定のケースでは、コードは、 「コンディション」マップ。ただし、「条件」マップは、キーと値のペアのない空のマップとして初期化されます。したがって、「condition['id']」にアクセスしようとすると、キーが存在せず、nil ポインタにアクセスしようとします。これにより、「無効なメモリ アドレスまたは nil ポインター逆参照」エラーが発生します。
この問題を解決するには、アクセスを試行する前に、「条件」マップを初期化し、「id」キーの値を設定します。以下に例を示します。
// Initialize the condition map condition = make(map[string]*guardduty.Condition) // Set the value of the "id" key condition["id"] = &guardduty.Condition{ Equals: aws.StringSlice(findingId), }
マップを初期化し、「id」キーの値を設定した後は、エラーが発生することなく安全にアクセスできるようになります。
以上がGo Maps での「無効なメモリ アドレスまたは nil ポインター逆参照」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。