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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 12:47:03900ブラウズ

How do you retrieve values from a map in Go?

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

Go でマップを操作するときの一般的なタスクは、以下に基づいて特定の値を取得することです。指定されたキー。ただし、マップ値にアクセスするための構文は、特に初心者にとってはわかりにくい場合があります。この記事では、マップから値を取得するプロセスを説明し、関連する手法の理解に役立つ例を示します。

文字列キーとインターフェイス {} 値を含むマップが提供されました。このマップの値にアクセスするには、値を目的の型に入力アサートする必要があります。

例:

res := map[string]interface{}{
    "Event_dtmReleaseDate": "2009-09-15 00:00:00 +0000 +00:00",
    "strID":               "TSTB",
    "Trans_strGuestList":   nil,
}

eventDate := res["Event_dtmReleaseDate"].(string)
strID := res["strID"].(string)
guestList := res["Trans_strGuestList"].(interface{}) // or nil if it's nil in the map

説明:

  1. マップキーは文字列です。
  2. 値キーに関連付けられているタイプは、インターフェイス {} です。
  3. 実際の値を取得するには、インターフェイス {} を目的のタイプにアサートする必要があります。
  4. この例では、assert と入力します。値を文字列に変換します。

注:

に注意してください。型アサーションが失敗すると、型アサーションがパニックになる可能性があります。これを処理するには、次のイディオムを使用できます:

var eventDate string
ok := false

if assertedValue, ok := res["Event_dtmReleaseDate"].(string); ok {
    eventDate = assertedValue
}

このアプローチにより、型アサーションが失敗した場合でもコードがパニックに陥りません。

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

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