ホームページ  >  記事  >  バックエンド開発  >  Go で「map[string]interface{}」から値に安全にアクセスするにはどうすればよいですか?

Go で「map[string]interface{}」から値に安全にアクセスするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-16 07:51:03949ブラウズ

How to Safely Access Values from a `map[string]interface{}` in Go?

Go でマップから値にアクセスする

マップからデータを抽出する場合、マップのキーをキーとして使用して、目的の値を取得できます。索引。ただし、map[string]interface {} 型のマップを格納する変数を扱う場合、キーは文字列になりますが、値の型は変わる可能性があります。

そのようなマップから値に安全にアクセスするには:

myValue := myMap[key].(VariableType)

たとえば、文字列値を取得するには:

id := res["strID"].(string)

このアプローチは型を前提としていることに注意することが重要です。という主張は正しい。安全性を確保するには:

var myValue VariableType
var ok bool
if x, found := myMap[key]; found {
    if myValue, ok = x.(VariableType); !ok {
        // Handle errors if the type assertion failed
    }
} else {
    // Handle errors if the key was not found
}

詳細については、提供されているリンクを参照してください:

  • Go のマップ: http://golang.org/doc/popular_go.html#マップ
  • 型アサーションとインターフェイス変換: http://golang.org/doc/効果的_go.html#interface_conversions

以上がGo で「map[string]interface{}」から値に安全にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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