golang 如何判断数组或者slice是否包含某个元素

golang 如何判断数组或者slice是否包含某个元素
类似 PHP 中 in_array 的函数有吗?

阅读 138.6k
6 个回答

这个真没有。只能range遍历了。算法复杂度为O(N)。事实上。没有指明键位置的,他只能从头到尾遍历找。PHP in_array()也是封装好的方法而已。

C语言也不支持查询数组内有无某的元素

也许你应该考虑改用一个container

可以使用 https://github.com/chenhg5/co... 会提供跟php一样的各种操作,判断是否包含元素只要这样操作:

a := []int{2, 3, 4, 5, 6, 7}

fmt.Println(Collect(a).Contains(3))

// Output: true
新手上路,请多包涵

if are["a"] == null {
//....
}

新手上路,请多包涵

if t,ok := a["b"];ok && t != nil{

//如果a 是 类似map[string]interface{} 这种类型 假设要断言字符串
if t1,ok  := t.(string);ok{
    fmt.Println(t1)
}

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题