slice

package
v0.0.25 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Combinations added in v0.0.20

func Combinations[T any](a []T) [][]T

Combinations 获取给定数组的所有组合,包括重复元素的组合

func CombinationsPari added in v0.0.21

func CombinationsPari[T any](a, b []T, aCount, bCount int) [][]T

CombinationsPari 从给定的两个数组中按照特定数量得到所有组合后,再将两个数组的组合进行组合

  • 例如从数组 A 中得到所有数量为2的组合,从数组 B 中得到所有数量为3的组合,再将两个组合进行组合,得到所有数量为5的组合

func Contains added in v0.0.15

func Contains[V comparable](slice []V, value V) bool

Contains 判断数组是否包含某个元素

func ContainsAny added in v0.0.15

func ContainsAny[V any](slice []V, values V) bool

ContainsAny 判断数组是否包含某个元素

func Copy

func Copy[V any](slice []V) []V

Copy 复制特定切片

func CopyMatrix

func CopyMatrix[V any](slice [][]V) [][]V

CopyMatrix 复制二维数组

func Del

func Del[V any](slice *[]V, index int)

Del 删除特定索引的元素

func Distinct added in v0.0.15

func Distinct[V any](slice []V) []V

Distinct 去重

func GetEndPart added in v0.0.14

func GetEndPart[V any](slice []V, n int) []V

GetEndPart 获取数组的后 n 个元素

func GetIndex added in v0.0.20

func GetIndex[V comparable](slice []V, value V) int

GetIndex 判断数组是否包含某个元素,如果包含则返回索引

func GetIndexAny added in v0.0.20

func GetIndexAny[V any](slice []V, values V) int

GetIndexAny 判断数组是否包含某个元素,如果包含则返回索引

func GetPart added in v0.0.14

func GetPart[V any](slice []V, start, end int) []V

GetPart 获取指定区间的元素

func GetStartPart added in v0.0.14

func GetStartPart[V any](slice []V, n int) []V

GetStartPart 获取数组的前 n 个元素

func Insert

func Insert[V any](slice *[]V, index int, value V)

Insert 在特定索引插入元素

func IsIntersect added in v0.0.20

func IsIntersect[T any](a, b []T) bool

IsIntersect 判断两个切片是否有交集

func IsIntersectWithCheck added in v0.0.20

func IsIntersectWithCheck[T any](a, b []T, checkHandle func(a, b T) bool) bool

IsIntersectWithCheck 判断两个切片是否有交集

func LimitedCombinations added in v0.0.20

func LimitedCombinations[T any](a []T, minSize, maxSize int) [][]T

LimitedCombinations 获取给定数组的所有组合,且每个组合的成员数量限制在指定范围内

func Merge added in v0.0.8

func Merge[V any](slices ...[]V) []V

Merge 合并多个数组

func Move

func Move[V any](slice *[]V, index, to int)

Move 移动特定索引

func NextLoop

func NextLoop[V any](slice []V, i int) (next int, value V)

NextLoop 返回 i 的下一个数组成员,当 i 达到数组长度时从 0 开始

  • 当 i 为 -1 时将返回第一个元素

func PrevLoop added in v0.0.5

func PrevLoop[V any](slice []V, i int) (prev int, value V)

PrevLoop 返回 i 的上一个数组成员,当 i 为 0 时从数组末尾开始

  • 当 i 为 -1 时将返回最后一个元素

func Reverse added in v0.0.5

func Reverse[V any](slice []V)

Reverse 反转数组

func Shuffle added in v0.0.5

func Shuffle[V any](slice []V)

Shuffle 随机打乱数组

func SubWithCheck added in v0.0.20

func SubWithCheck[T any](a, b []T, checkHandle func(a, b T) bool) []T

SubWithCheck 获取移除指定元素后的切片

  • checkHandle 返回 true 表示需要移除

func Swap added in v0.0.5

func Swap[V any](slice []V, i, j int)

Swap 交换数组中的两个元素

func ToMap added in v0.0.5

func ToMap[K comparable, V any](slice []V, key func(V) K) map[K]V

ToMap 将数组转换为 map

func ToSet added in v0.0.5

func ToSet[V comparable](slice []V) map[V]struct{}

ToSet 将数组转换为 set

Types

This section is empty.

Jump to

Keyboard shortcuts

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