首頁 >後端開發 >Golang >如何從 Go 中的映射檢索值?

如何從 Go 中的映射檢索值?

Patricia Arquette
Patricia Arquette原創
2024-11-16 12:47:03897瀏覽

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. 要取得實際值,我們需要輸入將interface {}斷言為所需的類型。
  4. 在我們的範例中,我們將斷言值輸入為字串。

注意:

需要注意的是,如果類型斷言失敗,類型斷言可能會出現恐慌。要處理這個問題,您可以使用以下習慣用法:

var eventDate string
ok := false

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

此方法可確保您的程式碼在類型斷言失敗時不會出現恐慌。

以上是如何從 Go 中的映射檢索值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn