我在以下代碼行中收到恐慌。interface conversion: interface {} is []string, not string我的界面是一個字符串映射。查找圖形界面是否包含特定字符串的最佳方法是什么。if strings.Contains(figure["figure1"].(string), "one"){
}
1 回答

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
在這里你的類型斷言是錯誤的,你正試圖從你的界面上的一個鍵訪問一個值,它還沒有作為一個映射被訪問,所以這不能工作因為它是不可索引的interface{}。
相反,您要做的是將整個界面轉換為map[string]string類似的界面
stringMap, ok := interfaceArg.(map[string]string)
if !ok {
return errors.New("cast failed")
}
if strings.Contains(stringMap["figure1"], "one") {
// your code here
}
- 1 回答
- 0 關注
- 131 瀏覽
添加回答
舉報
0/150
提交
取消