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

DDD
リリース: 2024-11-16 07:51:03
オリジナル
949 人が閲覧しました

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

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