gslice

package
v0.0.0-...-8d4abae Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func All

func All[T any](list []T, f func(T) bool) bool

All 循环遍历切片,对每个元素执行函数,如果函数返回false,则返回false 注意:如果切片为空,返回true

func AllMatch

func AllMatch[T any](list []T, matchFunc func(item T) bool) bool

AllMatch 循环遍历切片,对每个元素执行函数,如果函数返回false,则返回false

func And

func And[T ~bool](list []T) bool

And 循环遍历切片,对每个元素执行函数,

func Any

func Any[T any](list []T, f func(T) bool) bool

Any 循环遍历切片,对每个元素执行函数 注意:如果切片为空,返回false

func AnyMatch

func AnyMatch[T any](list []T, matchFunc func(item T) bool) bool

AnyMatch 循环遍历切片,对每个元素执行函数,如果函数返回true,则返回true

func Avg

func Avg[T gvalue.Numeric](list []T) float64

Avg 求平均值

func AvgBy

func AvgBy[T any, K gvalue.Numeric](list []T, f func(T) K) float64

AvgBy 求平均值

func Clone

func Clone[T any](list []T) []T

func Compact

func Compact[T comparable](list []T) []T

Compact 去除零值

func Contains

func Contains[T comparable](list []T, item T) bool

Contains 切片是否包含元素

func ContainsAll

func ContainsAll[T comparable](list []T, items ...T) bool

ContainsAll 切片是否包含所有元素

func ContainsAny

func ContainsAny[T comparable](list []T, items ...T) bool

ContainsAny 切片是否包含任意元素

func Count

func Count[T comparable](list []T, item T) int

func CountBy

func CountBy[T any](list []T, f func(T) bool) int

func CountValues

func CountValues[T comparable](list []T) map[T]int

CountValues 统计每个元素出现的次数

func CountValuesBy

func CountValuesBy[T any, K comparable](list []T, f func(T) K) map[K]int

CountValuesBy 统计每个元素出现的次数

func Diff

func Diff[T comparable](s []T, against ...[]T) []T

func Divide

func Divide[T any](list []T, n int) [][]T

Divide 将切片分成n份 如果n大于切片长度,则返回一个包含切片的切片 如果n小于等于0,则返回一个空切片

func Duplicate

func Duplicate[T comparable](list []T) []T

Duplicate 找出重复的元素

func DuplicateBy

func DuplicateBy[T any, K comparable](list []T, f func(T) K) []T

DuplicateBy 找出重复的元素

func Equal

func Equal[T comparable](a, b []T) bool

func EqualBy

func EqualBy[T any, K comparable](a, b []T, f func(T) K) bool

func Filter

func Filter[T any](list []T, filterFunc func(item T) bool) []T

Filter 循环遍历切片,对每个元素执行函数,如果函数返回true,则添加到新的切片中

func FilterMap

func FilterMap[T any, R any](list []T, filterFunc func(item T) (R, bool)) []R

FilterMap 循环遍历切片,对每个元素执行函数,如果函数返回true,则添加到新的切片中

func Flatten

func Flatten[T any](list [][]T) []T

func Fold

func Fold[T, R any](list []T, f func(R, T) R, init R) R

Fold 折叠切片,将切片中的元素依次传入函数,返回最终的结果

func ForEach

func ForEach[T any](list []T, eachFunc func(item T))

func ForEachIndex

func ForEachIndex[T any](items []T, f func(int, T))

func GroupBy

func GroupBy[T any, K comparable](list []T, groupFunc func(T) K) map[K][]T

GroupBy 分组

func Index

func Index[T comparable](list []T, item T) int

func IndexBy

func IndexBy[T any, K comparable](list []T, f func(T) bool) int

func IndexByRev

func IndexByRev[T any, K comparable](list []T, f func(T) bool) int

func IndexRev

func IndexRev[T comparable](list []T, item T) int

func IndirectOf

func IndirectOf[T any](list []*T) []T

func Intersect

func Intersect[T comparable](ss ...[]T) []T

func Map

func Map[T any, R any](list []T, mapFunc func(item T) R) []R

Map 循环遍历切片,对每个元素执行函数,返回一个新的切片

func MapInplace

func MapInplace[T any](list []T, mapFunc func(item T) T) []T

func MapReduce

func MapReduce[T, M, R any](list []T, mapFunc func(T) M, reduceFunc func() func(M) R) R

MapReduce map后reduce

func Of

func Of[T any](v ...T) []T

func Or

func Or[T ~bool](list []T) bool

func Partition

func Partition[T any](list []T, f func(T) bool) ([]T, []T)

Partition 分割切片,将切片中的元素按照函数的返回值分成两个切片

func PtrOf

func PtrOf[T any](list []T) []*T

func Reject

func Reject[T any](list []T, filterFunc func(item T) bool) []T

Reject 循环遍历切片,对每个元素执行函数,如果函数返回false,则添加到新的切片中

func Remove

func Remove[T comparable](list []T, item T) []T

Remove 移除元素

func Repeat

func Repeat[T any](item T, n int) []T

Repeat 重复元素

func RepeatBy

func RepeatBy[T any](f func() T, n int) []T

RepeatBy 重复元素

func Reverse

func Reverse[T any](list []T) []T

Reverse 反转切片

func Slice

func Slice[T any, I gvalue.Integer](list []T, start, end I) []T

func SliceClone

func SliceClone[T any, I gvalue.Integer](list []T, start, end I) []T

func Sort

func Sort[T any](items []T, lessFunc func(T, T) bool) []T

func StableSort

func StableSort[T any](items []T, lessFunc func(T, T) bool) []T

func Sum

func Sum[T gvalue.Numeric](list []T) T

Sum 求和

func SumBy

func SumBy[T any, K gvalue.Numeric](list []T, f func(T) K) K

func ToMap

func ToMap[T, V any, K comparable](list []T, f func(T) (K, V)) map[K]V

func ToMapValues

func ToMapValues[T any, K comparable](list []T, f func(T) K) map[K]T

func TryFilterMap

func TryFilterMap[T any, R any](list []T, filterFunc func(item T) (R, bool)) ([]R, []T)

TryFilterMap 循环遍历切片,对每个元素执行函数,如果函数返回true,则添加到新的切片中,如果函数返回false,则添加到notMatch切片中

func TryMap

func TryMap[T, R any](s []T, f func(T) (R, error)) ([]R, error)

TryMap 循环遍历切片,对每个元素执行函数,如果函数返回错误,则返回错误

func Union

func Union[T comparable](ss ...[]T) []T

func Uniq

func Uniq[T comparable](list []T) []T

Uniq 去重

func UniqBy

func UniqBy[T any, K comparable](list []T, f func(T) K) []T

UniqBy 去重

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL