我对以下代码行感到恐慌。 interface conversion: interface {} is []string, not string
我的界面是字符串映射。查找图形界面是否包含特定字符串的最佳方法是什么。
if strings.Contains(figure["figure1"].(string), "one"){
}
答案 0 :(得分:2)
在这里,类型断言是错误的,您正在尝试从接口上的键访问一个值,该键尚未作为映射访问,因此无法使用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
}