为了账号安全,请及时绑定邮箱和手机立即绑定

如何在接口上使用 strings.Contains

如何在接口上使用 strings.Contains

Go
qq_遁去的一_1 2023-03-21 14:25:59
我在以下代码行中收到恐慌。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

}


查看完整回答
反对 回复 2023-03-21
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信