golang 如何判断数组或者slice是否包含某个元素
类似 PHP 中 in_array 的函数有吗?
这个可以自己写一些查找,比如二分法等,不过还是建议使用Map来做这个事情。
关于Slice切片的更多信息可以参考 Go语言实战笔记(五)| Go 切片
关于Map的更多信息可以参考 Go语言实战笔记(六)| Go Map
可以使用 https://github.com/chenhg5/co... 会提供跟php一样的各种操作,判断是否包含元素只要这样操作:
a := []int{2, 3, 4, 5, 6, 7}
fmt.Println(Collect(a).Contains(3))
// Output: true
if t,ok := a["b"];ok && t != nil{
//如果a 是 类似map[string]interface{} 这种类型 假设要断言字符串
if t1,ok := t.(string);ok{
fmt.Println(t1)
}
}
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答920 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.2k 阅读
这个真没有。只能range遍历了。算法复杂度为O(N)。事实上。没有指明键位置的,他只能从头到尾遍历找。PHP in_array()也是封装好的方法而已。