首页 > 后端开发 > Golang > 如何有效地检查 Go 列表中的值是否存在?

如何有效地检查 Go 列表中的值是否存在?

DDD
发布: 2024-11-29 02:11:08
原创
896 人浏览过

How Can I Efficiently Check for Value Existence in a Go List?

检查 Go 中列表中的值是否存在

在 Python 中,in 关键字可以方便地验证列表中是否存在元素。另一方面,Go 缺乏明确的等价物。本文探讨了在 Go 中实现此类检查的技术。

一种方法涉及使用集合,它将值映射到未使用的整数值。然而,这需要对每个元素进行人工整数规范,并且不被认为是理想的解决方案。

更优雅的方法是利用字符串到布尔值的映射。映射作为一个集合,映射中缺少键值对相当于 false,可以解释为该元素不在列表中。

valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true}

if valid[x] {
    fmt.Println("found")
} else {
    fmt.Println("not found")
}
登录后复制

注意:

为了提高大型列表的效率,请考虑使用 for range 循环初始化映射或创建一个无类型常量来优化布尔值作业。

var t = true
valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
登录后复制

以上是如何有效地检查 Go 列表中的值是否存在?的详细内容。更多信息请关注PHP中文网其他相关文章!

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