golang set集合实现去重及交叉并集计算

     还是需要吐槽下golang默认的标准库不是很全面,虽然可以通过map来实现简易的set集合,但这毕竟费工夫呀。不知道golang啥时候才能有个较完美的库包服务,类似python的pypi,node.js的npm…


该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。

http://xiaorui.cc/?p=2944


我这边有个场景是针对数据去重,但又不是简单的去重,是有时间区间范围内的交集、并集计算。

废话不多说,我估计有不少人记不清集合的并集、差集、交集的概念了。


集合的分类: 

并集:以属于A或属于B的元素为元素的集合成为A与B的并(集) 
交集: 以属于A且属于B的元素为元素的集合成为A与B的交(集) 

差集:以属于A而不属于B的元素为元素的集合成为A与B的差 (集)


如果只是去重的化,完全可以使用golang map实现。比如下面的例子就可以实现去重。

和我们预料的一样,必须出错 !

golang-set是我在github找到的一个库,其实也没得选…. go get 安装go库包时候因为参数不对,总是失败….

下面是go set的使用实例.

上面那段go代码运行的结果:

set集合本来就没啥说的….


对Golang感兴趣的朋友可以加群: 278517979 !!!
另外如果大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码, 感谢!
另外再次标注博客原地址  xiaorui.cc

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">