美文网首页
golang判断slice中是否存在某个item

golang判断slice中是否存在某个item

作者: pyihe | 来源:发表于2019-03-06 10:48 被阅读8次

    之前在项目中需要判断某个slice中是否包含某个元素,当时自己的做法是遍历slice中的每个元素,直到找到了该元素,否则返回false。

    simple.pic

    这种做法是最容易想到,也是最简单的。但是存在一个问题:就是只能对一种数据类型判断,比如上面代码中的int、[]int,如果需要判断其它类型,需要写一个同样的函数,只是参数类型不一样,这样的代码很明显,可用性太低。

    后来发现可以用反射规避这个问题,利用reflect包中的TypeOf()、ValueOf()和DeepEqual()接口,接口说明请参考文档。代码如下:

    reflect.pic

    瞬间不用再为不同数据类型需要写不同函数而心烦了!

    注:参考blog,https://wxnacy.com/2018/11/20/go-in-array/

    Thanks!!!

    相关文章

      网友评论

          本文标题:golang判断slice中是否存在某个item

          本文链接:https://www.haomeiwen.com/subject/jizzuqtx.html