1 Star 0 Fork 0

fkil555/gin-extend

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
arrayhelper.go 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
fkil555 提交于 8个月前 . 数组处理
package arrayhelper
import "strconv"
func ArrayChunk[T int64 | string](arr []T, step int64) (segmens [][]T) {
max := int64(len(arr))
if max < step {
segmens = append(segmens, arr)
return
}
var num = max / step
var beg int64
var end int64
for i := int64(0); i < num || end < max; i++ {
beg = 0 + i*step
end = beg + step
if end > max {
end = max
}
segmens = append(segmens, arr[beg:end])
}
return
}
func ArrayChunkInt64(arr []int64, step int64) (segmens [][]int64) {
segmens = ArrayChunk(arr, step)
return
}
func Int64ToStingArray(arr []int64) (idStr []string) {
if len(arr) <= 0 {
return
}
for _, v := range arr {
idStr = append(idStr, strconv.FormatInt(v, 10))
}
return
}
func StringToInt64Array(arr []string) (vals []int64) {
if len(arr) <= 0 {
return
}
for _, v := range arr {
tmp, err := strconv.ParseInt(v, 10, 64)
if err == nil {
vals = append(vals, tmp)
}
}
return
}
func StringToIntArray(arr []string) (vals []int) {
if len(arr) <= 0 {
return
}
for _, v := range arr {
tmp, err := strconv.Atoi(v)
if err == nil {
vals = append(vals, tmp)
}
}
return
}
func ArrayUnique[T int | int64 | string](arr []T) (dst []T) {
if len(arr) <= 0 {
return
}
valMap := make(map[T]bool)
for _, v := range arr {
_, ok := valMap[v]
if ok {
continue
}
valMap[v] = true
dst = append(dst, v)
}
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fkil555/gin-extend.git
git@gitee.com:fkil555/gin-extend.git
fkil555
gin-extend
gin-extend
v0.1.10

搜索帮助