ホームページ > バックエンド開発 > Golang > Go でマップ フィールドにアクセスすると「Nil Pointer Dereference」エラーが発生するのはなぜですか?

Go でマップ フィールドにアクセスすると「Nil Pointer Dereference」エラーが発生するのはなぜですか?

Susan Sarandon
リリース: 2024-12-05 19:21:10
オリジナル
916 人が閲覧しました

Why Do I Get a

マップ フィールドにアクセスする際のポインター逆参照エラー

構造体のフィールドにアクセスしようとすると、エラーが発生します:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート