首页 > 后端开发 > Golang > 在没有'if x in”结构的情况下,Go 如何检查元素成员身份?

在没有'if x in”结构的情况下,Go 如何检查元素成员身份?

Mary-Kate Olsen
发布: 2024-12-14 16:16:17
原创
172 人浏览过

How Does Go Check for Element Membership Without an

Go 的“if x in”构造方法

Go 提供了各种方法来检查数组中是否存在元素或检查成员资格。虽然它没有像 Python 那样明确的“if x in”结构,但它根据所使用的版本和数据结构提供了一些替代方案。

1.使用 Slices.Contains (Go 1.18 及更高版本)

对于 Go 1.18 及更高版本,slices.Contains 方法提供了直接高效的解决方案。它将数组或切片作为输入,并检查指定的元素是否存在。

arr := []string{"a", "b", "c"}
if slices.Contains(arr, "b") {
    // Element is present
}
登录后复制

2.迭代数组(Go 1.18 之前)

Go 1.18 之前,没有内置运算符来检查成员资格。相反,可以创建一个自定义函数来迭代数组:

func stringInSlice(a string, list []string) bool {
    for _, b := range list {
        if b == a {
            return true
        }
    }
    return false
}
登录后复制

3。使用映射进行成员资格检查

如果不希望迭代整个列表,则使用映射而不是数组或切片可以为成员资格检查提供更有效的解决方案:

visitedURL := map[string]bool {
    "http://www.google.com": true,
    "https://paypal.com": true,
}
if visitedURL[thisSite] {
    fmt.Println("Already been here.")
}
登录后复制

以上是在没有'if x in”结构的情况下,Go 如何检查元素成员身份?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板