ホームページ >バックエンド開発 >Golang >Go マップから値を安全に取得するにはどうすればよいですか?

Go マップから値を安全に取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-12 01:27:02753ブラウズ

How to Safely Retrieve Values from a Go Map?

Go マップからの値の取得

Go マップを操作する場合、多くの場合、提供されたキーに基づいて特定の値を取得する必要があります。 Go のマップは、map[string]interface{} として表されます。キーは文字列で、値はさまざまなタイプになります。

マップから値を取得するには、次の構文を使用できます。

mvVar := myMap[key].(VariableType)

たとえば、「strID」キーの値を文字列として取得するには、次のようにします。 this:

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

ただし、マップ キーが存在しない場合、または型アサーションが失敗した場合は、パニックが発生します。これを回避するには、より安全なアプローチを使用できます。

var id string
var ok bool
if x, found := res["strID"]; found {
  if id, ok = x.(string); !ok {
    // Handle type conversion error
  }
} else {
  // Handle key not found error
}

このアプローチでは、変数に値を割り当てる前に、キーが存在するかどうかをチェックし、型アサーションが成功したことを確認します。

覚えておいてください詳細については、マップに関する Go のドキュメントを参照し、次のリンクでアサーションを入力してください:

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

以上がGo マップから値を安全に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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