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

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

转自: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)