猿问

如何在接口上使用 strings.Contains

我在以下代码行中收到恐慌。interface conversion: interface {} is []string, not string

我的界面是一个字符串映射。查找图形界面是否包含特定字符串的最佳方法是什么。

if strings.Contains(figure["figure1"].(string), "one"){
}


qq_遁去的一_1
浏览 158回答 1
1回答

人到中年有点甜

在这里你的类型断言是错误的,你正试图从你的界面上的一个键访问一个值,它还没有作为一个映射被访问,所以这不能工作因为它是不可索引的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}
随时随地看视频慕课网APP

相关分类

Go
我要回答