次の Go マップについて考えてみましょう。
res := map[string]interface{}{ "Event_dtmReleaseDate": "2009-09-15 00:00:00 +0000 +00:00", "Trans_strGuestList": nil, "strID": "TSTB", }
目標は次のとおりです。から次の値を取得します。 map:
Go マップから値にアクセスするには、値に関連付けられたキーを使用する必要があります。ただし、この場合、マップには文字列や nil などのさまざまなタイプの値が含まれます。
型アサーションの使用
値を取得する 1 つの方法は、型を使用することです。以下に示すように、アサーション:
id := res["strID"].(string)
この行は、「strID」キーに関連付けられた値を取得し、アサートします。
安全な型チェック
不正な型やキーの欠落による潜在的なパニックを回避するには、次の安全なアプローチの使用を検討してください。
var id string var ok bool if x, found := res["strID"]; found { if id, ok = x.(string); !ok { // Handle errors if the value is not a string. } } else { // Handle errors if the key does not exist in the map. }
このコードは、マップに「strID」キーが含まれているかどうかをチェックします。存在する場合、値を文字列に変換し、それを id 変数に割り当てようとします。このアプローチにより、型の不一致またはキーの欠落の場合にコードがパニックに陥らないことが保証されます。
追加メモ
以上が異なるデータ型の Go マップから値を安全にフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。