deduplication.go 394 B

123456789101112131415
  1. package util
  2. // RemoveRepByMap 通过map主键唯一的特性过滤重复元素
  3. func RemoveRepByMap(slc []int64) []int64 {
  4. var result []int64
  5. tempMap := map[int64]byte{} // 存放不重复主键
  6. for _, e := range slc {
  7. l := len(tempMap)
  8. tempMap[e] = 0
  9. if len(tempMap) != l { // 加入map后,map长度变化,则元素不重复
  10. result = append(result, e)
  11. }
  12. }
  13. return result
  14. }