Go で「map[string]interface{}」から値を安全に取得する方法

Barbara Streisand
リリース: 2024-11-24 07:12:10
オリジナル
482 人が閲覧しました

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

Go でマップから値を取得する

Go で map[string]interface {} データ構造を操作する場合、特定の値をフェッチする挑戦的になる可能性があります。マップからデータに正常にアクセスするには、基礎となるデータ形式を理解し、正しいアプローチを適用することが不可欠です。

発生した問題を解決するには、型アサーションを利用して値を目的のデータ型に変換できます。 。型アサーションを使用すると、インターフェイスから特定の型を抽出できます。一般的な構文は次のとおりです:

mvVar := myMap[key].(VariableType)
ログイン後にコピー

特定のケース:

id  := res["strID"].(string)
ログイン後にコピー

ただし、型が正しくない場合、またはキーが正しくない場合、型アサーションによってパニック エラーが発生する可能性があることに注意してください。存在しない。パニックを回避するには、次の安全なアプローチを使用することをお勧めします。

var id string
var ok bool
if x, found := res["strID"]; found {
     if id, ok = x.(string); !ok {
        // Handle errors - this means this wasn't a string
     }
} else {
   // Handle errors - the map didn't contain this key
}
ログイン後にコピー

型アサーションまたは上記で概説した安全なアプローチを実装することにより、Go で map[string]interface {} から効果的に値を抽出できます。パニックのリスクを冒さずに必要なデータを確実に取得できるようにします。

以上がGo で「map[string]interface{}」から値を安全に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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