array

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2023 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Any

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

func Contains

func Contains[T comparable](a []T, x T) bool
Contains

* Example: * a := []int{1, 2, 3, 4, 5} * b := Contains(a, 3) * fmt.Println(b) // true

func Equals

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

func Every

func Every[T any](a []T, f func(T) bool) bool
Every

* Example: * a := []int{1, 2, 3, 4, 5} * b := Every(a, func(x int) bool { return x%2 == 0 }) * fmt.Println(b) // false

func Fill

func Fill[T any](a []T, start, end int, x T) []T

func Filter

func Filter[T any](a []T, f func(T) bool) []T

func Filter0Loc added in v1.0.0

func Filter0Loc[T any](a []T, f func(T) bool) []T

with side effects

func Find

func Find[T any](a []T, f func(T) bool) (T, bool)

func FlatMap

func FlatMap[T, U any](a []T, f func(T) []U) []U

func ForEach

func ForEach[T any](a []T, f func(T))
ForEach

* Example: * a := []int{1, 2, 3, 4, 5} * ForEach(a, func(x int) { fmt.Println(x) })

func GroupBy added in v0.0.2

func GroupBy[T any, K comparable](w []T, key func(T) K) map[K][]T

func IndexOf

func IndexOf[T comparable](a []T, x T) int
IndexOf

* Example: * a := []int{1, 2, 3, 4, 5} * b := IndexOf(a, 3) * fmt.Println(b) // 2

func Join

func Join[T any](a []T, sep string) string

func Map

func Map[T, U any](a []T, f func(T) U) []U

func Map0Loc added in v1.0.0

func Map0Loc[T any](a []T, f func(T) T)

with side effects

func Max

func Max[T Number](a []T) T

func Min

func Min[T Number](a []T) T
Min array of numbers

* Example: * a := []int{1, 2, 3, 4, 5} * b := Min(a) * fmt.Println(b) // 1

func Pop

func Pop[T any](a []T) (T, []T)
Pop removes and returns the last element of the slice

* Example: * a := []int{1, 2, 3, 4, 5} * b, c := Pop(a) * fmt.Println(b, c) // 5 [1 2 3 4]

func Product

func Product[T Number](a []T) T
Product array of numbers

* Example: * a := []int{1, 2, 3, 4, 5} * b := Product(a) * fmt.Println(b) // 120

func Push

func Push[T any](a []T, x ...T) []T

func Reduce

func Reduce[T any](a []T, f func(T, T) T) T

func Reverse

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

* Example: * a := []int{1, 2, 3, 4, 5} * b := Reverse(a) * fmt.Println(b) // [5 4 3 2 1]

func Shift

func Shift[T any](a []T) (T, []T)

func Shuffle

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

* Example: * a := []int{1, 2, 3, 4, 5} * b := Shuffle(a) * fmt.Println(b) // [2 5 4 3 1]

func Some

func Some[T any](a []T, f func(T) bool) bool

func Sort

func Sort[T any](a []T, less func(i, j int) bool) []T

func Sum

func Sum[T Number](a []T) T

func Union

func Union[T comparable](a, b []T) []T

func Unique

func Unique[T comparable](a []T) []T

func Unshift

func Unshift[T any](a []T, x ...T) []T

Types

type Array

type Array[T any] struct {
	// contains filtered or unexported fields
}

func NewArray

func NewArray[T any](a []T) *Array[T]

func (*Array[T]) Any

func (a *Array[T]) Any(f func(T) bool) bool

func (*Array[T]) Every

func (a *Array[T]) Every(f func(T) bool) bool

func (*Array[T]) Filter

func (a *Array[T]) Filter(f func(T) bool) *Array[T]

func (*Array[T]) Find

func (a *Array[T]) Find(f func(T) bool) (T, bool)

func (*Array[T]) FlatMap

func (a *Array[T]) FlatMap(f func(T) []T) *Array[T]

func (*Array[T]) Length

func (a *Array[T]) Length() int

func (*Array[T]) Map

func (a *Array[T]) Map(f func(T) T) *Array[T]

func (*Array[T]) Reduce

func (a *Array[T]) Reduce(f func(T, T) T) T

func (*Array[T]) Reverse

func (a *Array[T]) Reverse() *Array[T]

func (*Array[T]) Shuffle

func (a *Array[T]) Shuffle() *Array[T]

func (*Array[T]) Some

func (a *Array[T]) Some(f func(T) bool) bool

func (*Array[T]) Sort

func (a *Array[T]) Sort(f func(i, j int) bool) *Array[T]

func (*Array[T]) Value

func (a *Array[T]) Value() []T

type Number

type Number interface {
	~int | ~int8 | ~int16 | ~int32 | ~int64 | ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~float32 | ~float64
}

Jump to

Keyboard shortcuts

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