func All(objs ...interface{}) bool
All returns true if all elements of the iterable are not empty (or if the iterable is empty)
func AllPredicates(value interface{}, predicates interface{}) bool
AllPredicates gets a value and a series of predicates, and return true if all of the predicates are true.
func Any(objs ...interface{}) bool
Any returns true if any element of the iterable is not empty. If the iterable is empty, return False.
func AnyPredicates(value interface{}, predicates interface{}) bool
AnyPredicates gets a value and a series of predicates, and return true if at least one of the predicates is true.
func Chunk(arr interface{}, size int) interface{}
Chunk creates an array of elements split into groups with the length of size. If array can't be split evenly, the final chunk will be the remaining element.
func Compact(value interface{}) interface{}
Compact creates a slice with all empty/zero values removed.
func Contains(in interface{}, elem interface{}) bool
Contains returns true if an element is present in a iteratee.
func ContainsBool(s []bool, v bool) bool
ContainsBool returns true if a boolean is present in a iteratee.
func ContainsFloat32(s []float32, v float32) bool
ContainsFloat32 returns true if a float32 is present in a iteratee.
func ContainsFloat64(s []float64, v float64) bool
ContainsFloat64 returns true if a float64 is present in a iteratee.
func ContainsInt(s []int, v int) bool
ContainsInt returns true if an int is present in a iteratee.
func ContainsInt32(s []int32, v int32) bool
ContainsInt32 returns true if an int32 is present in a iteratee.
func ContainsInt64(s []int64, v int64) bool
ContainsInt64 returns true if an int64 is present in a iteratee.
func ContainsString(s []string, v string) bool
ContainsString returns true if a string is present in a iteratee.
func ContainsUInt(s []uint, v uint) bool
ContainsUInt returns true if an uint is present in a iteratee.
func ContainsUInt32(s []uint32, v uint32) bool
ContainsUInt32 returns true if an uint32 is present in a iteratee.
func ContainsUInt64(s []uint64, v uint64) bool
ContainsUInt64 returns true if an uint64 is present in a iteratee.
func ConvertSlice(in interface{}, out interface{})
ConvertSlice converts a slice type to another, a perfect example would be to convert a slice of struct to a slice of interface.
func Difference(x interface{}, y interface{}) (interface{}, interface{})
Difference returns the difference between two collections.
func DifferenceInt(x []int, y []int) ([]int, []int)
DifferenceInt returns the difference between two collections of ints.
func DifferenceInt32(x []int32, y []int32) ([]int32, []int32)
DifferenceInt32 returns the difference between two collections of ints32.
func DifferenceInt64(x []int64, y []int64) ([]int64, []int64)
DifferenceInt64 returns the difference between two collections of int64s.
func DifferenceString(x []string, y []string) ([]string, []string)
DifferenceString returns the difference between two collections of strings.
func DifferenceUInt(x []uint, y []uint) ([]uint, []uint)
DifferenceUInt returns the difference between two collections of uints.
func DifferenceUInt32(x []uint32, y []uint32) ([]uint32, []uint32)
DifferenceUInt32 returns the difference between two collections of uints32.
func DifferenceUInt64(x []uint64, y []uint64) ([]uint64, []uint64)
DifferenceUInt64 returns the difference between two collections of uints64.
func Drop(in interface{}, n int) interface{}
Drop creates an array/slice with `n` elements dropped from the beginning.
func DropBool(s []bool, n int) []bool
DropBool creates a slice with `n` bools dropped from the beginning.
func DropFloat32(s []float32, n int) []float32
DropFloat32 creates a slice with `n` float32s dropped from the beginning.
func DropFloat64(s []float64, n int) []float64
DropFloat64 creates a slice with `n` float64s dropped from the beginning.
func DropInt(s []int, n int) []int
DropInt creates a slice with `n` ints dropped from the beginning.
func DropInt32(s []int32, n int) []int32
DropInt32 creates a slice with `n` int32s dropped from the beginning.
func DropInt64(s []int64, n int) []int64
DropInt64 creates a slice with `n` int64s dropped from the beginning.
func DropString(s []string, n int) []string
DropString creates a slice with `n` strings dropped from the beginning.
func DropUInt(s []uint, n uint) []uint
DropUInt creates a slice with `n` ints dropped from the beginning.
func DropUInt32(s []uint32, n int) []uint32
DropUInt32 creates a slice with `n` int32s dropped from the beginning.
func DropUInt64(s []uint64, n int) []uint64
DropUInt64 creates a slice with `n` int64s dropped from the beginning.
func Equal(expected interface{}, actual interface{}) bool
Equal returns if the two objects are equal
func Every(in interface{}, elements ...interface{}) bool
Every returns true if every element is present in a iteratee.
func Fill(in interface{}, fillValue interface{}) (interface{}, error)
Fill fills elements of array with value
func Filter(arr interface{}, predicate interface{}) interface{}
Filter iterates over elements of collection, returning an array of all elements predicate returns truthy for.
func FilterBool(s []bool, cb func(s bool) bool) []bool
FilterBool iterates over a collection of bool, returning an array of all bool elements predicate returns truthy for.
func FilterFloat32(s []float32, cb func(s float32) bool) []float32
FilterFloat32 iterates over a collection of float32, returning an array of all float32 elements predicate returns truthy for.
func FilterFloat64(s []float64, cb func(s float64) bool) []float64
FilterFloat64 iterates over a collection of float64, returning an array of all float64 elements predicate returns truthy for.
func FilterInt(s []int, cb func(s int) bool) []int
FilterInt iterates over a collection of int, returning an array of all int elements predicate returns truthy for.
func FilterInt32(s []int32, cb func(s int32) bool) []int32
FilterInt32 iterates over a collection of int32, returning an array of all int32 elements predicate returns truthy for.
func FilterInt64(s []int64, cb func(s int64) bool) []int64
FilterInt64 iterates over a collection of int64, returning an array of all int64 elements predicate returns truthy for.
func FilterString(s []string, cb func(s string) bool) []string
FilterString iterates over a collection of string, returning an array of all string elements predicate returns truthy for.
func FilterUInt(s []uint, cb func(s uint) bool) []uint
FilterUInt iterates over a collection of uint, returning an array of all uint elements predicate returns truthy for.
func FilterUInt32(s []uint32, cb func(s uint32) bool) []uint32
FilterUInt32 iterates over a collection of uint32, returning an array of all uint32 elements predicate returns truthy for.
func FilterUInt64(s []uint64, cb func(s uint64) bool) []uint64
FilterUInt64 iterates over a collection of uint64, returning an array of all uint64 elements predicate returns truthy for.
func Find(arr interface{}, predicate interface{}) interface{}
Find iterates over elements of collection, returning the first element predicate returns truthy for.
func FindFloat32(s []float32, cb func(s float32) bool) (float32, bool)
FindFloat32 iterates over a collection of float32, returning the first float32 element predicate returns truthy for.
func FindFloat64(s []float64, cb func(s float64) bool) (float64, bool)
FindFloat64 iterates over a collection of float64, returning an array of all float64 elements predicate returns truthy for.
func FindInt(s []int, cb func(s int) bool) (int, bool)
FindInt iterates over a collection of int, returning the first int element predicate returns truthy for.
func FindInt32(s []int32, cb func(s int32) bool) (int32, bool)
FindInt32 iterates over a collection of int32, returning the first int32 element predicate returns truthy for.
func FindInt64(s []int64, cb func(s int64) bool) (int64, bool)
FindInt64 iterates over a collection of int64, returning the first int64 element predicate returns truthy for.
func FindKey(arr interface{}, predicate interface{}) (matchKey, matchEle interface{})
Find iterates over elements of collection, returning the first element of an array and random of a map which predicate returns truthy for.
func FindString(s []string, cb func(s string) bool) (string, bool)
FindString iterates over a collection of string, returning the first string element predicate returns truthy for.
func FlatMap(arr interface{}, mapFunc interface{}) interface{}
FlatMap manipulates an iteratee and transforms it to a flattened collection of another type.
func Flatten(out interface{}) interface{}
Flatten flattens a two-dimensional array.
func FlattenDeep(out interface{}) interface{}
FlattenDeep recursively flattens array.
func ForEach(arr interface{}, predicate interface{})
ForEach iterates over elements of collection and invokes iteratee for each element.
func ForEachRight(arr interface{}, predicate interface{})
ForEachRight iterates over elements of collection from the right and invokes iteratee for each element.
func Get(out interface{}, path string, opts ...option) interface{}
Get retrieves the value from given path, retriever can be modified with available RetrieverOptions
func GetOrElse(v interface{}, def interface{}) interface{}
GetOrElse retrieves the value of the pointer or default.
func Head(arr interface{}) interface{}
Head gets the first element of array.
func InBools(s []bool, v bool) bool
InBools is an alias of ContainsBool, returns true if a bool is present in a iteratee.
func InFloat32s(s []float32, v float32) bool
InFloat32s is an alias of ContainsFloat32, returns true if a float32 is present in a iteratee.
func InFloat64s(s []float64, v float64) bool
InFloat64s is an alias of ContainsFloat64, returns true if a float64 is present in a iteratee.
func InInt32s(s []int32, v int32) bool
InInt32s is an alias of ContainsInt32, returns true if an int32 is present in a iteratee.
func InInt64s(s []int64, v int64) bool
InInt64s is an alias of ContainsInt64, returns true if an int64 is present in a iteratee.
func InInts(s []int, v int) bool
InInts is an alias of ContainsInt, returns true if an int is present in a iteratee.
func InStrings(s []string, v string) bool
InStrings is an alias of ContainsString, returns true if a string is present in a iteratee.
func InUInt32s(s []uint32, v uint32) bool
InUInt32s is an alias of ContainsUInt32, returns true if an uint32 is present in a iteratee.
func InUInt64s(s []uint64, v uint64) bool
InUInt64s is an alias of ContainsUInt64, returns true if an uint64 is present in a iteratee.
func InUInts(s []uint, v uint) bool
InUInts is an alias of ContainsUInt, returns true if an uint is present in a iteratee.
func IndexOf(in interface{}, elem interface{}) int
IndexOf gets the index at which the first occurrence of value is found in array or return -1 if the value cannot be found
func IndexOfBool(a []bool, x bool) int
IndexOfBool gets the index at which the first occurrence of a bool value is found in array or return -1 if the value cannot be found
func IndexOfFloat64(a []float64, x float64) int
IndexOfFloat64 gets the index at which the first occurrence of an float64 value is found in array or return -1 if the value cannot be found
func IndexOfInt(a []int, x int) int
IndexOfInt gets the index at which the first occurrence of an int value is found in array or return -1 if the value cannot be found
func IndexOfInt32(a []int32, x int32) int
IndexOfInt32 gets the index at which the first occurrence of an int32 value is found in array or return -1 if the value cannot be found
func IndexOfInt64(a []int64, x int64) int
IndexOfInt64 gets the index at which the first occurrence of an int64 value is found in array or return -1 if the value cannot be found
func IndexOfString(a []string, x string) int
IndexOfString gets the index at which the first occurrence of a string value is found in array or return -1 if the value cannot be found
func IndexOfUInt(a []uint, x uint) int
IndexOfUInt gets the index at which the first occurrence of an uint value is found in array or return -1 if the value cannot be found
func IndexOfUInt32(a []uint32, x uint32) int
IndexOfUInt32 gets the index at which the first occurrence of an uint32 value is found in array or return -1 if the value cannot be found
func IndexOfUInt64(a []uint64, x uint64) int
IndexOfUInt64 gets the index at which the first occurrence of an uint64 value is found in array or return -1 if the value cannot be found
func Initial(arr interface{}) interface{}
Initial gets all but the last element of array.
func InnerJoin(lx, rx reflect.Value) reflect.Value
InnerJoin finds and returns matching data from two collections.
func InnerJoinFloat32(lx, rx []float32) []float32
InnerJoinFloat32 finds and returns matching data from two float32 collections.
func InnerJoinFloat64(lx, rx []float64) []float64
InnerJoinFloat64 finds and returns matching data from two float64 collections.
func InnerJoinInt(lx, rx []int) []int
InnerJoinInt finds and returns matching data from two int collections.
func InnerJoinInt32(lx, rx []int32) []int32
InnerJoinInt32 finds and returns matching data from two int32 collections.
func InnerJoinInt64(lx, rx []int64) []int64
InnerJoinInt64 finds and returns matching data from two int64 collections.
func InnerJoinString(lx, rx []string) []string
InnerJoinString finds and returns matching data from two string collections.
func Intersect(x interface{}, y interface{}) interface{}
Intersect returns the intersection between two collections.
Deprecated: use Join(x, y, InnerJoin) instead of Intersect, InnerJoin implements deduplication mechanism, so verify your code behaviour before using it
func IntersectString(x []string, y []string) []string
IntersectString returns the intersection between two collections of string.
func IsCollection(in interface{}) bool
IsCollection returns if the argument is a collection.
func IsEmpty(obj interface{}) bool
IsEmpty returns if the object is considered as empty or not.
func IsEqual(expected interface{}, actual interface{}) bool
IsEqual returns if the two objects are equal
func IsFunction(in interface{}, num ...int) bool
IsFunction returns if the argument is a function.
func IsIteratee(in interface{}) bool
IsIteratee returns if the argument is an iteratee.
func IsPredicate(in interface{}, inTypes ...reflect.Type) bool
IsPredicate returns if the argument is a predicate function.
func IsType(expected interface{}, actual interface{}) bool
IsType returns if the two objects are in the same type
func IsZero(obj interface{}) bool
IsZero returns if the object is considered as zero value
func Join(larr, rarr interface{}, fnc JoinFnc) interface{}
Join combines two collections using the given join method.
func JoinFloat32(larr, rarr []float32, fnc JoinFloat32Fnc) []float32
JoinFloat32 combines two float32 collections using the given join method.
func JoinFloat64(larr, rarr []float64, fnc JoinFloat64Fnc) []float64
JoinFloat64 combines two float64 collections using the given join method.
func JoinInt(larr, rarr []int, fnc JoinIntFnc) []int
JoinInt combines two int collections using the given join method.
func JoinInt32(larr, rarr []int32, fnc JoinInt32Fnc) []int32
JoinInt32 combines two int32 collections using the given join method.
func JoinInt64(larr, rarr []int64, fnc JoinInt64Fnc) []int64
JoinInt64 combines two int64 collections using the given join method.
func JoinString(larr, rarr []string, fnc JoinStringFnc) []string
JoinString combines two string collections using the given join method.
func Keys(out interface{}) interface{}
Keys creates an array of the own enumerable map keys or struct field names.
func Last(arr interface{}) interface{}
Last gets the last element of array.
func LastIndexOf(in interface{}, elem interface{}) int
LastIndexOf gets the index at which the last occurrence of value is found in array or return -1 if the value cannot be found
func LastIndexOfBool(a []bool, x bool) int
LastIndexOfBool gets the index at which the first occurrence of a bool value is found in array or return -1 if the value cannot be found
func LastIndexOfFloat32(a []float32, x float32) int
LastIndexOfFloat32 gets the index at which the first occurrence of an float32 value is found in array or return -1 if the value cannot be found
func LastIndexOfFloat64(a []float64, x float64) int
LastIndexOfFloat64 gets the index at which the first occurrence of an float64 value is found in array or return -1 if the value cannot be found
func LastIndexOfInt(a []int, x int) int
LastIndexOfInt gets the index at which the first occurrence of an int value is found in array or return -1 if the value cannot be found
func LastIndexOfInt32(a []int32, x int32) int
LastIndexOfInt32 gets the index at which the first occurrence of an int32 value is found in array or return -1 if the value cannot be found
func LastIndexOfInt64(a []int64, x int64) int
LastIndexOfInt64 gets the index at which the first occurrence of an int64 value is found in array or return -1 if the value cannot be found
func LastIndexOfString(a []string, x string) int
LastIndexOfString gets the index at which the first occurrence of a string value is found in array or return -1 if the value cannot be found
func LastIndexOfUInt(a []uint, x uint) int
LastIndexOfUInt gets the index at which the first occurrence of an uint value is found in array or return -1 if the value cannot be found
func LastIndexOfUInt32(a []uint32, x uint32) int
LastIndexOfUInt32 gets the index at which the first occurrence of an uint32 value is found in array or return -1 if the value cannot be found
func LastIndexOfUInt64(a []uint64, x uint64) int
LastIndexOfUInt64 gets the index at which the first occurrence of an uint64 value is found in array or return -1 if the value cannot be found
func LeftJoin(lx, rx reflect.Value) reflect.Value
LeftJoin finds and returns dissimilar data from the first collection (left).
func LeftJoinFloat32(lx, rx []float32) []float32
LeftJoinFloat32 finds and returns dissimilar data from the first float32 collection (left).
func LeftJoinFloat64(lx, rx []float64) []float64
LeftJoinFloat64 finds and returns dissimilar data from the first float64 collection (left).
func LeftJoinInt(lx, rx []int) []int
LeftJoinInt finds and returns dissimilar data from the first int collection (left).
func LeftJoinInt32(lx, rx []int32) []int32
LeftJoinInt32 finds and returns dissimilar data from the first int32 collection (left).
func LeftJoinInt64(lx, rx []int64) []int64
LeftJoinInt64 finds and returns dissimilar data from the first int64 collection (left).
func LeftJoinString(lx, rx []string) []string
LeftJoinString finds and returns dissimilar data from the first string collection (left).
func Map(arr interface{}, mapFunc interface{}) interface{}
Map manipulates an iteratee and transforms it to another type.
func MaxFloat32(i []float32) float32
MaxFloat32 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []float32 It returns float32
func MaxFloat64(i []float64) float64
MaxFloat64 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []float64 It returns float64
func MaxInt(i []int) int
MaxInt validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int It returns int
func MaxInt16(i []int16) int16
MaxInt16 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int16 It returns int16
func MaxInt32(i []int32) int32
MaxInt32 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int32 It returns int32
func MaxInt64(i []int64) int64
MaxInt64 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int64 It returns int64
func MaxInt8(i []int8) int8
MaxInt8 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int8 It returns int8
func MaxString(i []string) string
MaxString validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []string It returns string
func MinFloat32(i []float32) float32
MinFloat32 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []float32 It returns float32
func MinFloat64(i []float64) float64
MinFloat64 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []float64 It returns float64
func MinInt(i []int) int
MinInt validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int It returns int
func MinInt16(i []int16) int16
MinInt16 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int16 It returns int16
func MinInt32(i []int32) int32
MinInt32 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int32 It returns int32
func MinInt64(i []int64) int64
MinInt64 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int64 It returns int64
func MinInt8(i []int8) int8
MinInt8 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int8 It returns int8
func MinString(i []string) string
MinString validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []string It returns string
func MustSet(in interface{}, val interface{}, path string)
MustSet is functionally the same as Set. It panics instead of returning error. It is safe to use if the in value is well formed.
func NextPermutation(nums []int) error
NextPermutation Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.
func NotEmpty(obj interface{}) bool
NotEmpty returns if the object is considered as non-empty or not.
func NotEqual(expected interface{}, actual interface{}) bool
NotEqual returns if the two objects are not equal
func OuterJoin(lx, rx reflect.Value) reflect.Value
OuterJoin finds and returns dissimilar data from two collections.
func OuterJoinFloat32(lx, rx []float32) []float32
OuterJoinFloat32 finds and returns dissimilar data from two float32 collections.
func OuterJoinFloat64(lx, rx []float64) []float64
OuterJoinFloat64 finds and returns dissimilar data from two float64 collections.
func OuterJoinInt(lx, rx []int) []int
OuterJoinInt finds and returns dissimilar data from two int collections.
func OuterJoinInt32(lx, rx []int32) []int32
OuterJoinInt32 finds and returns dissimilar data from two int32 collections.
func OuterJoinInt64(lx, rx []int64) []int64
OuterJoinInt64 finds and returns dissimilar data from two int64 collections.
func OuterJoinString(lx, rx []string) []string
OuterJoinString finds and returns dissimilar data from two string collections.
func Product(arr interface{}) float64
Product computes the product of the values in array.
func Prune(in interface{}, paths []string) (interface{}, error)
Prune returns a copy of "in" that only contains fields in "paths" which are looked up using struct field name. For lookup paths by field tag instead, use funk.PruneByTag()
▹ Example
func PruneByTag(in interface{}, paths []string, tag string) (interface{}, error)
pruneByTag returns a copy of "in" that only contains fields in "paths" which are looked up using struct field Tag "tag".
func PtrOf(itf interface{}) interface{}
PtrOf makes a copy of the given interface and returns a pointer.
func RandomInt(min, max int) int
RandomInt generates a random int, based on a min and max values
func RandomString(n int, allowedChars ...[]rune) string
RandomString returns a random string with a fixed length
func Reduce(arr, reduceFunc, acc interface{}) interface{}
Reduce takes a collection and reduces it to a single value using a reduction function (or a valid symbol) and an accumulator value.
func Reverse(in interface{}) interface{}
Reverse transforms an array the first element will become the last, the second element will become the second to last, etc.
func ReverseBools(s []bool) []bool
ReverseBools reverses an array of bool
func ReverseFloat32(s []float32) []float32
ReverseFloat32 reverses an array of float32
func ReverseFloat64(s []float64) []float64
ReverseFloat64 reverses an array of float64
func ReverseInt(s []int) []int
ReverseInt reverses an array of int
func ReverseInt32(s []int32) []int32
ReverseInt32 reverses an array of int32
func ReverseInt64(s []int64) []int64
ReverseInt64 reverses an array of int64
func ReverseString(s string) string
ReverseString reverses a string
func ReverseStrings(s []string) []string
ReverseStrings reverses an array of string
func ReverseUInt(s []uint) []uint
ReverseUInt reverses an array of int
func ReverseUInt32(s []uint32) []uint32
ReverseUInt32 reverses an array of uint32
func ReverseUInt64(s []uint64) []uint64
ReverseUInt64 reverses an array of uint64
func RightJoin(lx, rx reflect.Value) reflect.Value
LeftJoin finds and returns dissimilar data from the second collection (right).
func RightJoinFloat32(lx, rx []float32) []float32
LeftJoinFloat32 finds and returns dissimilar data from the second float32 collection (right).
func RightJoinFloat64(lx, rx []float64) []float64
LeftJoinFloat64 finds and returns dissimilar data from the second float64 collection (right).
func RightJoinInt(lx, rx []int) []int
LeftJoinInt finds and returns dissimilar data from the second int collection (right).
func RightJoinInt32(lx, rx []int32) []int32
LeftJoinInt32 finds and returns dissimilar data from the second int32 collection (right).
func RightJoinInt64(lx, rx []int64) []int64
LeftJoinInt64 finds and returns dissimilar data from the second int64 collection (right).
func RightJoinString(lx, rx []string) []string
LeftJoinString finds and returns dissimilar data from the second string collection (right).
func Set(in interface{}, val interface{}, path string) error
Set assigns in at path with value val. i.e. in.path = val in accepts types of ptr to struct, ptr to variable, slice and ptr to slice. Along the path, interface{} is supported and nil ptr is initialized to ptr to zero value of the type until the variable to be set is obtained. It returns errors when encountering along the path unknown types, uninitialized interface{} or interface{} containing struct directly (not ptr to struct).
Slice is resolved the same way in funk.Get(), by traversing each element of the slice, so that each element of the slice's corresponding field are going to be set to the same provided val. If Set is called on slice with empty path "", it behaves the same as funk.Fill()
If in is well formed, i.e. do not expect above descripted errors to happen, funk.MustSet() is a short hand wrapper to discard error return
▹ Example
func Shard(str string, width int, depth int, restOnly bool) []string
Shard will shard a string name
func ShortIf(condition bool, a interface{}, b interface{}) interface{}
func Shuffle(in interface{}) interface{}
Shuffle creates an array of shuffled values
func ShuffleBool(a []bool) []bool
ShuffleBool creates an array of bool shuffled values using Fisher–Yates algorithm
func ShuffleFloat32(a []float32) []float32
ShuffleFloat32 creates an array of float32 shuffled values using Fisher–Yates algorithm
func ShuffleFloat64(a []float64) []float64
ShuffleFloat64 creates an array of float64 shuffled values using Fisher–Yates algorithm
func ShuffleInt(a []int) []int
ShuffleInt creates an array of int shuffled values using Fisher–Yates algorithm
func ShuffleInt32(a []int32) []int32
ShuffleInt32 creates an array of int32 shuffled values using Fisher–Yates algorithm
func ShuffleInt64(a []int64) []int64
ShuffleInt64 creates an array of int64 shuffled values using Fisher–Yates algorithm
func ShuffleString(a []string) []string
ShuffleString creates an array of string shuffled values using Fisher–Yates algorithm
func ShuffleUInt(a []uint) []uint
ShuffleUInt creates an array of int shuffled values using Fisher–Yates algorithm
func ShuffleUInt32(a []uint32) []uint32
ShuffleUInt32 creates an array of uint32 shuffled values using Fisher–Yates algorithm
func ShuffleUInt64(a []uint64) []uint64
ShuffleUInt64 creates an array of uint64 shuffled values using Fisher–Yates algorithm
func SliceOf(in interface{}) interface{}
SliceOf returns a slice which contains the element.
func Some(in interface{}, elements ...interface{}) bool
Some returns true if atleast one element is present in an iteratee.
▹ Example
func StringerJoin(elems []interface{ String() string }, sep string) string
StringerJoin joins an array of elements which implement the `String() string` function. Direct copy of strings.Join() with a few tweaks.
func Subset(x interface{}, y interface{}) bool
Subset returns true if collection x is a subset of y.
func Subtract(x interface{}, y interface{}) interface{}
Subtract returns the subtraction between two collections.
func SubtractString(x []string, y []string) []string
SubtractString returns the subtraction between two collections of string
func Sum(arr interface{}) float64
Sum computes the sum of the values in array.
func SumFloat32(s []float32) (sum float32)
SumFloat32 sums a float32 iteratee and returns the sum of all elements
func SumFloat64(s []float64) (sum float64)
SumFloat64 sums a float64 iteratee and returns the sum of all elements
func SumInt(s []int) (sum int)
SumInt sums a int iteratee and returns the sum of all elements
func SumInt32(s []int32) (sum int32)
SumInt32 sums a int32 iteratee and returns the sum of all elements
func SumInt64(s []int64) (sum int64)
SumInt64 sums a int64 iteratee and returns the sum of all elements
func SumUInt(s []uint) (sum uint)
SumUInt sums a uint iteratee and returns the sum of all elements
func SumUInt32(s []uint32) (sum uint32)
SumUInt32 sums a uint32 iteratee and returns the sum of all elements
func SumUInt64(s []uint64) (sum uint64)
SumUInt64 sums a uint64 iteratee and returns the sum of all elements
func Tail(arr interface{}) interface{}
Tail gets all but the first element of array.
func ToFloat64(x interface{}) (float64, bool)
ToFloat64 converts any numeric value to float64.
func ToMap(in interface{}, pivot string) interface{}
ToMap transforms a slice of instances to a Map. []*Foo => Map<int, *Foo>
func Uniq(in interface{}) interface{}
Uniq creates an array with unique values.
func UniqBool(a []bool) []bool
UniqBool creates an array of bool with unique values.
func UniqFloat32(a []float32) []float32
UniqFloat32 creates an array of float32 with unique values.
func UniqFloat64(a []float64) []float64
UniqFloat64 creates an array of float64 with unique values.
func UniqInt(a []int) []int
UniqInt creates an array of int with unique values.
func UniqInt32(a []int32) []int32
UniqInt32 creates an array of int32 with unique values.
func UniqInt64(a []int64) []int64
UniqInt64 creates an array of int64 with unique values.
func UniqString(a []string) []string
UniqString creates an array of string with unique values.
func UniqUInt(a []uint) []uint
UniqUInt creates an array of uint with unique values.
func UniqUInt32(a []uint32) []uint32
UniqUInt32 creates an array of uint32 with unique values.
func UniqUInt64(a []uint64) []uint64
UniqUInt64 creates an array of uint64 with unique values.
func Values(out interface{}) interface{}
Values creates an array of the own enumerable map values or struct field values.
func WithAllowZero() func(*options)
WithAllowZero allows zero values.
func Without(in interface{}, values ...interface{}) interface{}
Without creates an array excluding all given values.
func ZeroOf(in interface{}) interface{}
ZeroOf returns a zero value of an element.
Builder contains all tools which can be chained.
type Builder interface { Chunk(size int) Builder Compact() Builder Drop(n int) Builder Filter(predicate interface{}) Builder Flatten() Builder FlattenDeep() Builder Initial() Builder Intersect(y interface{}) Builder Join(rarr interface{}, fnc JoinFnc) Builder Map(mapFunc interface{}) Builder FlatMap(mapFunc interface{}) Builder Reverse() Builder Shuffle() Builder Tail() Builder Uniq() Builder Without(values ...interface{}) Builder All() bool Any() bool Contains(elem interface{}) bool Every(elements ...interface{}) bool Find(predicate interface{}) interface{} ForEach(predicate interface{}) ForEachRight(predicate interface{}) Head() interface{} Keys() interface{} IndexOf(elem interface{}) int IsEmpty() bool Last() interface{} LastIndexOf(elem interface{}) int NotEmpty() bool Product() float64 Reduce(reduceFunc, acc interface{}) interface{} Sum() float64 Type() reflect.Type Value() interface{} Values() interface{} }
func Chain(v interface{}) Builder
Chain creates a simple new go-funk.Builder from a collection. Each method call generate a new builder containing the previous result.
▹ Example
func LazyChain(v interface{}) Builder
LazyChain creates a lazy go-funk.Builder from a collection. Each method call generate a new builder containing a method generating the previous value. With that, all data are only generated when we call a tailling method like All or Find.
▹ Example
func LazyChainWith(generator func() interface{}) Builder
LazyChainWith creates a lazy go-funk.Builder from a generator. Like LazyChain, each method call generate a new builder containing a method generating the previous value. But, instead of using a collection, it takes a generator which can generate values. With LazyChainWith, to can create a generic pipeline of collection transformation and, throw the generator, sending different collection.
type JoinFloat32Fnc func(lx, rx []float32) []float32
type JoinFloat64Fnc func(lx, rx []float64) []float64
type JoinFnc func(lx, rx reflect.Value) reflect.Value
type JoinInt32Fnc func(lx, rx []int32) []int32
type JoinInt64Fnc func(lx, rx []int64) []int64
type JoinIntFnc func(lx, rx []int) []int
type JoinStringFnc func(lx, rx []string) []string
Tuple is the return type of Zip
type Tuple struct { Element1 interface{} Element2 interface{} }
func Zip(slice1 interface{}, slice2 interface{}) []Tuple
Zip returns a list of tuples, where the i-th tuple contains the i-th element from each of the input iterables. The returned list is truncated in length to the length of the shortest input iterable.