第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將primitive.m斷言到map[string]string

如何將primitive.m斷言到map[string]string

Go
翻閱古今 2022-06-01 11:16:01
我在我的 Go 應用程序中使用 MongoDB,并提取一些數(shù)據(jù)并將其存儲在 bson.M 中(這是一個示例,從數(shù)據(jù)庫中獲取 bson.M 對象然后打印它(讓我們稱這個對象為data):[map[_id:ObjectID("XXXXXXX") address:XX decimal:18 providers:map[currency:value] symbol:LINK]這對我來說看起來是正確的。我認為想在providers現(xiàn)場循環(huán)地圖(如您所見,它也是那里的地圖)。我做了幾次嘗試,但每次都被阻止。由于我在這里的文檔中閱讀的內容和我所做的測試,看起來 bson.M 和 original.M 是相同的,并且它們都被視為map[string]interface{}.當我試圖將它斷言到 a 時,map[string]string我出現(xiàn)了一個恐慌錯誤:// code rundata["providers"].(map[string]string)//error receivedpanic: interface conversion: interface {} is primitive.M, not map[string]string這樣做的原因是我想遍歷該providers字段,當我嘗試按原樣循環(huán)時,我收到此錯誤:// code to runfor key, provider := range data["providers"] {...}// error receivedcannot range over data["providers"] (map index expression of type interface{})我已經(jīng)讀到我可能需要對編組和解碼做一些事情,但我覺得我只是錯過了一個步驟,為什么我需要這樣做,或者他們將如何提供幫助。無論如何總結一下:如何循環(huán)遍歷一個 original.M/bson.M/map[string]interface{}?如何將 original.M/bson.M/map[string]interface{} 轉換為 map[string]string?看起來我可能試圖做與此條目相反的操作,并且看起來此條目給我的信息相互矛盾。希望在我了解更多我的真正問題時編輯問題。謝謝!
查看完整描述

2 回答

?
拉丁的傳說

TA貢獻1789條經(jīng)驗 獲得超8個贊

與 Burak Serdar 交談幫助我們找到了答案!data["providers"]你必須斷言primitive.M

for key, provider := range data["providers"].(primitive.M){...}

需要注意的關鍵點:primitive.M 的處理方式類似于 map[string]interface{}

正如 Burak Serdar 所提到的,我不能將primitive.M 的這個實例斷言為 map[string]string,因為interfaceinmap[string]interface{}是 type primitive.M。所以相反,我必須將對象斷言為providers對象primitive.M,然后我可以正常循環(huán)它。

我無法將primitive.M 轉換為map[string]string


查看完整回答
反對 回復 2022-06-01
?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

map[string]interface{}to的類型斷言map[string]string將失敗,因為它是類型斷言,而不是類型轉換。它只檢查接口類型是否是你認為的那樣,在這種情況下,它不是。您必須迭代map[string]interface{}, 并對值進行類型斷言:


for k,v:=range data.(primitive.M)["providers"] {

   if str, ok:=v.(string); ok {

      // Use k and str

   }

}


查看完整回答
反對 回復 2022-06-01
  • 2 回答
  • 0 關注
  • 404 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號