在 Go 中,從深度嵌套映射中導航和檢索值可能是一個挑戰。這個問題示範如何有效地完成此任務。
如何從具有如下結構的嵌套映射中訪問和檢索值:
m := map[string]interface{}{ "date": "created", "clientName": "data.user.name", "address": map[string]interface{}{ "street": "x.address", }, "other": map[string]interface{}{ "google": map[string]interface{}{ "value": map[string]interface{}{ "x": "y.address", }, }, }, "new_address": map[string]interface{}{ "address": "z.address", }, }
要從在巢狀映射中檢索值,您可以採用非緊急轉換技術,其中涉及以下內容步驟:
for i := range m { nestedMap, ok := m[i].(map[string]interface{}) if ok { // Do what you want } }
在提供的範例中,程式碼迭代映射m 的頂級鍵。對於每個鍵,它嘗試將對應的值轉換為map[string]interface{},使用布林標誌ok檢查類型斷言是否成功。如果類型斷言成功,您就可以根據需要存取和操作巢狀對應。
有關 Go 中類型斷言的更多詳細信息,請參閱官方文檔:https://golang.org/ref/規範#Type_assertions。這種方法允許您以方便且無錯誤的方式從巢狀映射中導航和檢索值。
以上是如何在 Go 中有效率地從深度嵌套映射中檢索值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!