Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

sliceutil Build Status license codecov PkgGoDev

sliceutil 提供了针对数组和切片的功能

  • Reverse 反转数组中的元素;
  • Delete 删除符合条件的切片元素;
  • QuickDelete 删除符合条件的切片元素,性能稍高于 Delete;
  • Count 统计数组或切片中包含指定什的数量;
  • Unique 提取数组中的唯一元素;
  • Dup 查看数组或切片中是否包含重得的值;
  • Contains 判断一个数组或是切片是否包含了另一个的所有元素;
intSlice := []int{1, 2, 3, 7, 0, 4, 7}
intArr := [3]int{1, 7, 0}

// index == [3, 7]
index := Dup(intSlice, func(i, j int) bool {
    return intSlice[i] == intSlice[j]
})

// 返回 7 的数量
count := Count(intSlice, func(i int) bool {
    return intSlice[i] == 7
})

// 会重新调整切片的内容,将删除后的数据在放最前端,并返回数切片的大小。
// 通过 intSlice[:size] 即为删除后的内容
size := Delete(intSlice, func(i int) bool {
    return intSlice[i] == 7
})

// ok == true
ok := Contains(intSlice, intArr, func(i, j int) bool {
    return int8(intSlice[i]) == int8Arr[j]
})

安装

go get github.com/issue9/sliceutil

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

You can’t perform that action at this time.