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

rfyiamcool · · 6300 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

     还是需要吐槽下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集合本来就没啥说的….


有疑问加站长微信联系(非本文作者)

本文来自:峰云就她了

感谢作者:rfyiamcool

查看原文:golang set集合实现去重及交叉并集计算

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6300 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传