登录
首页 >  Golang >  Go问答

如何在界面上进行字符串包含判断

来源:stackoverflow

时间:2024-03-23 08:21:26 183浏览 收藏

在界面中进行字符串包含判断时,使用类型断言转换界面类型时可能会引发恐慌。这是因为无法直接从界面上访问值,需要先将其转换为映射。将界面转换为字符串映射的正确方法是使用类型断言,如 `stringMap, ok := interfaceArg.(map[string]string)`。转换成功后,就可以使用 `strings.Contains` 判断字符串是否包含特定值。

问题内容

我在以下代码行中收到恐慌。 接口转换:interface {}是[]字符串,而不是字符串

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

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

解决方案


这里您的类型断言是错误的,您正在尝试从接口上的键访问值,该值尚未作为映射访问,因此这无法工作,因为 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
}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>