考慮以下Go 地圖:
res := map[string]interface{}{ "Event_dtmReleaseDate": "2009-09-15 00:00:00 +0000 +00:00", "Trans_strGuestList": nil, "strID": "TSTB", }
目標是從以下值中擷取map:
檢索值的一種方法是使用type斷言,如下所示:
此行檢索與“ strID”鍵關聯的值並斷言它是字串類型。id := res["strID"].(string)安全型檢查
為了避免因類型不正確或缺少金鑰而導致潛在的恐慌,請考慮使用以下安全方法:
此程式碼檢查地圖是否包含「strID」鍵。如果是,它會嘗試將該值轉換為字串並將其指派給 id 變數。這種方法可以確保程式碼在類型不匹配或缺少鍵的情況下不會出現恐慌。
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. }附加說明
有關Go 地圖的更多信息,請參閱Go 文件:http://golang.org/doc/ effective_go.html# maps.
以上是如何安全地從具有不同資料類型的 Go Map 中取得值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!