Documentation ¶
Index ¶
- func All(objs ...interface{}) bool
- func Any(objs ...interface{}) bool
- func Chunk(arr interface{}, size int) interface{}
- func Compact(value interface{}) interface{}
- func Contains(in interface{}, elem interface{}) bool
- func ContainsFloat32(s []float32, v float32) bool
- func ContainsFloat64(s []float64, v float64) bool
- func ContainsInt(s []int, v int) bool
- func ContainsInt32(s []int32, v int32) bool
- func ContainsInt64(s []int64, v int64) bool
- func ContainsString(s []string, v string) bool
- func ConvertSlice(in interface{}, out interface{})
- func Difference(x interface{}, y interface{}) (interface{}, interface{})
- func DifferenceString(x []string, y []string) ([]string, []string)
- func Drop(in interface{}, n int) interface{}
- func DropFloat32(s []float32, n int) []float32
- func DropFloat64(s []float64, n int) []float64
- func DropInt(s []int, n int) []int
- func DropInt32(s []int32, n int) []int32
- func DropInt64(s []int64, n int) []int64
- func DropString(s []string, n int) []string
- func Equal(expected interface{}, actual interface{}) bool
- func Every(in interface{}, elements ...interface{}) bool
- func Fill(in interface{}, fillValue interface{}) (interface{}, error)
- func Filter(arr interface{}, predicate interface{}) interface{}
- func FilterFloat32(s []float32, cb func(s float32) bool) []float32
- func FilterFloat64(s []float64, cb func(s float64) bool) []float64
- func FilterInt(s []int, cb func(s int) bool) []int
- func FilterInt32(s []int32, cb func(s int32) bool) []int32
- func FilterInt64(s []int64, cb func(s int64) bool) []int64
- func FilterString(s []string, cb func(s string) bool) []string
- func Find(arr interface{}, predicate interface{}) interface{}
- func FindFloat32(s []float32, cb func(s float32) bool) (float32, bool)
- func FindFloat64(s []float64, cb func(s float64) bool) (float64, bool)
- func FindInt(s []int, cb func(s int) bool) (int, bool)
- func FindInt32(s []int32, cb func(s int32) bool) (int32, bool)
- func FindInt64(s []int64, cb func(s int64) bool) (int64, bool)
- func FindKey(arr interface{}, predicate interface{}) (matchKey, matchEle interface{})
- func FindString(s []string, cb func(s string) bool) (string, bool)
- func FlattenDeep(out interface{}) interface{}
- func ForEach(arr interface{}, predicate interface{})
- func ForEachRight(arr interface{}, predicate interface{})
- func Get(out interface{}, path string) interface{}
- func GetOrElse(v interface{}, def interface{}) interface{}
- func Head(arr interface{}) interface{}
- func InFloat32s(s []float32, v float32) bool
- func InFloat64s(s []float64, v float64) bool
- func InInt32s(s []int32, v int32) bool
- func InInt64s(s []int64, v int64) bool
- func InInts(s []int, v int) bool
- func InStrings(s []string, v string) bool
- func IndexOf(in interface{}, elem interface{}) int
- func IndexOfFloat64(a []float64, x float64) int
- func IndexOfInt(a []int, x int) int
- func IndexOfInt32(a []int32, x int32) int
- func IndexOfInt64(a []int64, x int64) int
- func IndexOfString(a []string, x string) int
- func Initial(arr interface{}) interface{}
- func InnerJoin(lx, rx reflect.Value) reflect.Value
- func InnerJoinFloat32(lx, rx []float32) []float32
- func InnerJoinFloat64(lx, rx []float64) []float64
- func InnerJoinInt(lx, rx []int) []int
- func InnerJoinInt32(lx, rx []int32) []int32
- func InnerJoinInt64(lx, rx []int64) []int64
- func InnerJoinString(lx, rx []string) []string
- func Intersect(x interface{}, y interface{}) interface{}deprecated
- func IntersectString(x []string, y []string) []string
- func IsCollection(in interface{}) bool
- func IsEmpty(obj interface{}) bool
- func IsEqual(expected interface{}, actual interface{}) bool
- func IsFunction(in interface{}, num ...int) bool
- func IsIteratee(in interface{}) bool
- func IsType(expected interface{}, actual interface{}) bool
- func IsZero(obj interface{}) bool
- func Join(larr, rarr interface{}, fnc JoinFnc) interface{}
- func JoinFloat32(larr, rarr []float32, fnc JoinFloat32Fnc) []float32
- func JoinFloat64(larr, rarr []float64, fnc JoinFloat64Fnc) []float64
- func JoinInt(larr, rarr []int, fnc JoinIntFnc) []int
- func JoinInt32(larr, rarr []int32, fnc JoinInt32Fnc) []int32
- func JoinInt64(larr, rarr []int64, fnc JoinInt64Fnc) []int64
- func JoinString(larr, rarr []string, fnc JoinStringFnc) []string
- func Keys(out interface{}) interface{}
- func Last(arr interface{}) interface{}
- func LastIndexOf(in interface{}, elem interface{}) int
- func LastIndexOfFloat32(a []float32, x float32) int
- func LastIndexOfFloat64(a []float64, x float64) int
- func LastIndexOfInt(a []int, x int) int
- func LastIndexOfInt32(a []int32, x int32) int
- func LastIndexOfInt64(a []int64, x int64) int
- func LastIndexOfString(a []string, x string) int
- func LeftJoin(lx, rx reflect.Value) reflect.Value
- func LeftJoinFloat32(lx, rx []float32) []float32
- func LeftJoinFloat64(lx, rx []float64) []float64
- func LeftJoinInt(lx, rx []int) []int
- func LeftJoinInt32(lx, rx []int32) []int32
- func LeftJoinInt64(lx, rx []int64) []int64
- func LeftJoinString(lx, rx []string) []string
- func Map(arr interface{}, mapFunc interface{}) interface{}
- func MaxFloat32(i []float32) interface{}
- func MaxFloat64(i []float64) interface{}
- func MaxInt(i []int) interface{}
- func MaxInt16(i []int16) interface{}
- func MaxInt32(i []int32) interface{}
- func MaxInt64(i []int64) interface{}
- func MaxInt8(i []int8) interface{}
- func MaxString(i []string) interface{}
- func MinFloat32(i []float32) interface{}
- func MinFloat64(i []float64) interface{}
- func MinInt(i []int) interface{}
- func MinInt16(i []int16) interface{}
- func MinInt32(i []int32) interface{}
- func MinInt64(i []int64) interface{}
- func MinInt8(i []int8) interface{}
- func MinString(i []string) interface{}
- func NotEmpty(obj interface{}) bool
- func NotEqual(expected interface{}, actual interface{}) bool
- func OuterJoin(lx, rx reflect.Value) reflect.Value
- func OuterJoinFloat32(lx, rx []float32) []float32
- func OuterJoinFloat64(lx, rx []float64) []float64
- func OuterJoinInt(lx, rx []int) []int
- func OuterJoinInt32(lx, rx []int32) []int32
- func OuterJoinInt64(lx, rx []int64) []int64
- func OuterJoinString(lx, rx []string) []string
- func Product(arr interface{}) float64
- func PtrOf(itf interface{}) interface{}
- func RandomInt(min, max int) int
- func RandomString(n int, allowedChars ...[]rune) string
- func Reduce(arr, reduceFunc, acc interface{}) float64
- func Reverse(in interface{}) interface{}
- func ReverseFloat32(s []float32) []float32
- func ReverseFloat64(s []float64) []float64
- func ReverseInt(s []int) []int
- func ReverseInt32(s []int32) []int32
- func ReverseInt64(s []int64) []int64
- func ReverseString(s string) string
- func ReverseStrings(s []string) []string
- func RightJoin(lx, rx reflect.Value) reflect.Value
- func RightJoinFloat32(lx, rx []float32) []float32
- func RightJoinFloat64(lx, rx []float64) []float64
- func RightJoinInt(lx, rx []int) []int
- func RightJoinInt32(lx, rx []int32) []int32
- func RightJoinInt64(lx, rx []int64) []int64
- func RightJoinString(lx, rx []string) []string
- func Shard(str string, width int, depth int, restOnly bool) []string
- func Shuffle(in interface{}) interface{}
- func ShuffleFloat32(a []float32) []float32
- func ShuffleFloat64(a []float64) []float64
- func ShuffleInt(a []int) []int
- func ShuffleInt32(a []int32) []int32
- func ShuffleInt64(a []int64) []int64
- func ShuffleString(a []string) []string
- func SliceOf(in interface{}) interface{}
- func Some(in interface{}, elements ...interface{}) bool
- func Subset(x interface{}, y interface{}) bool
- func Subtract(x interface{}, y interface{}) interface{}
- func SubtractString(x []string, y []string) []string
- func Sum(arr interface{}) float64
- func SumFloat32(s []float32) (sum float32)
- func SumFloat64(s []float64) (sum float64)
- func SumInt(s []int) (sum int)
- func SumInt32(s []int32) (sum int32)
- func SumInt64(s []int64) (sum int64)
- func Tail(arr interface{}) interface{}
- func ToFloat64(x interface{}) (float64, bool)
- func ToMap(in interface{}, pivot string) interface{}
- func Uniq(in interface{}) interface{}
- func UniqFloat32(a []float32) []float32
- func UniqFloat64(a []float64) []float64
- func UniqInt(a []int) []int
- func UniqInt32(a []int32) []int32
- func UniqInt64(a []int64) []int64
- func UniqString(a []string) []string
- func Values(out interface{}) interface{}
- func Without(in interface{}, values ...interface{}) interface{}
- func ZeroOf(in interface{}) interface{}
- type Builder
- type JoinFloat32Fnc
- type JoinFloat64Fnc
- type JoinFnc
- type JoinInt32Fnc
- type JoinInt64Fnc
- type JoinIntFnc
- type JoinStringFnc
- type Tuple
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func All ¶
func All(objs ...interface{}) bool
All returns true if all elements of the iterable are not empty (or if the iterable is empty)
func Any ¶
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 Chunk ¶
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 ¶
func Compact(value interface{}) interface{}
Compact creates a slice with all empty/zero values removed.
func Contains ¶
func Contains(in interface{}, elem interface{}) bool
Contains returns true if an element is present in a iteratee.
func ContainsFloat32 ¶
ContainsFloat32 returns true if a float32 is present in a iteratee.
func ContainsFloat64 ¶
ContainsFloat64 returns true if a float64 is present in a iteratee.
func ContainsInt ¶
ContainsInt returns true if an int is present in a iteratee.
func ContainsInt32 ¶
ContainsInt32 returns true if an int32 is present in a iteratee.
func ContainsInt64 ¶
ContainsInt64 returns true if an int64 is present in a iteratee.
func ContainsString ¶
ContainsString returns true if a string is present in a iteratee.
func ConvertSlice ¶
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 ¶ added in v0.6.0
func Difference(x interface{}, y interface{}) (interface{}, interface{})
Difference returns the difference between two collections.
func DifferenceString ¶ added in v0.6.0
DifferenceString returns the difference between two collections of strings.
func Drop ¶
func Drop(in interface{}, n int) interface{}
Drop creates an array/slice with `n` elements dropped from the beginning.
func DropFloat32 ¶
DropFloat32 creates a slice with `n` float32s dropped from the beginning.
func DropFloat64 ¶
DropFloat64 creates a slice with `n` float64s dropped from the beginning.
func DropString ¶
DropString creates a slice with `n` strings dropped from the beginning.
func Equal ¶
func Equal(expected interface{}, actual interface{}) bool
Equal returns if the two objects are equal
func Every ¶
func Every(in interface{}, elements ...interface{}) bool
Every returns true if every element is present in a iteratee.
func Fill ¶
func Fill(in interface{}, fillValue interface{}) (interface{}, error)
Fill fills elements of array with value
func Filter ¶
func Filter(arr interface{}, predicate interface{}) interface{}
Filter iterates over elements of collection, returning an array of all elements predicate returns truthy for.
func FilterFloat32 ¶
FilterFloat32 iterates over a collection of float32, returning an array of all float32 elements predicate returns truthy for.
func FilterFloat64 ¶
FilterFloat64 iterates over a collection of float64, returning an array of all float64 elements predicate returns truthy for.
func FilterInt ¶
FilterInt iterates over a collection of int, returning an array of all int elements predicate returns truthy for.
func FilterInt32 ¶
FilterInt32 iterates over a collection of int32, returning an array of all int32 elements predicate returns truthy for.
func FilterInt64 ¶
FilterInt64 iterates over a collection of int64, returning an array of all int64 elements predicate returns truthy for.
func FilterString ¶
FilterString iterates over a collection of string, returning an array of all string elements predicate returns truthy for.
func Find ¶
func Find(arr interface{}, predicate interface{}) interface{}
Find iterates over elements of collection, returning the first element predicate returns truthy for.
func FindFloat32 ¶
FindFloat32 iterates over a collection of float32, returning the first float32 element predicate returns truthy for.
func FindFloat64 ¶
FindFloat64 iterates over a collection of float64, returning an array of all float64 elements predicate returns truthy for.
func FindInt ¶
FindInt iterates over a collection of int, returning the first int element predicate returns truthy for.
func FindInt32 ¶
FindInt32 iterates over a collection of int32, returning the first int32 element predicate returns truthy for.
func FindInt64 ¶
FindInt64 iterates over a collection of int64, returning the first int64 element predicate returns truthy for.
func FindKey ¶ added in v0.5.0
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 ¶
FindString iterates over a collection of string, returning the first string element predicate returns truthy for.
func FlattenDeep ¶
func FlattenDeep(out interface{}) interface{}
FlattenDeep recursively flattens array.
func ForEach ¶
func ForEach(arr interface{}, predicate interface{})
ForEach iterates over elements of collection and invokes iteratee for each element.
func ForEachRight ¶
func ForEachRight(arr interface{}, predicate interface{})
ForEachRight iterates over elements of collection from the right and invokes iteratee for each element.
func Get ¶
func Get(out interface{}, path string) interface{}
Get retrieves the value at path of struct(s).
func GetOrElse ¶ added in v0.6.0
func GetOrElse(v interface{}, def interface{}) interface{}
Get retrieves the value of the pointer or default.
func InFloat32s ¶
InFloat32s is an alias of ContainsFloat32, returns true if a float32 is present in a iteratee.
func InFloat64s ¶
InFloat64s is an alias of ContainsFloat64, returns true if a float64 is present in a iteratee.
func InInt32s ¶
InInt32s is an alias of ContainsInt32, returns true if an int32 is present in a iteratee.
func InInt64s ¶
InInt64s is an alias of ContainsInt64, returns true if an int64 is present in a iteratee.
func InStrings ¶
InStrings is an alias of ContainsString, returns true if a string is present in a iteratee.
func IndexOf ¶
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 IndexOfFloat64 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 Initial ¶
func Initial(arr interface{}) interface{}
Initial gets all but the last element of array.
func InnerJoinFloat32 ¶ added in v0.7.0
InnerJoinFloat32 finds and returns matching data from two float32 collections.
func InnerJoinFloat64 ¶ added in v0.7.0
InnerJoinFloat64 finds and returns matching data from two float64 collections.
func InnerJoinInt ¶ added in v0.7.0
InnerJoinInt finds and returns matching data from two int collections.
func InnerJoinInt32 ¶ added in v0.7.0
InnerJoinInt32 finds and returns matching data from two int32 collections.
func InnerJoinInt64 ¶ added in v0.7.0
InnerJoinInt64 finds and returns matching data from two int64 collections.
func InnerJoinString ¶ added in v0.7.0
InnerJoinString finds and returns matching data from two string collections.
func Intersect
deprecated
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 ¶
IntersectString returns the intersection between two collections of string.
func IsCollection ¶
func IsCollection(in interface{}) bool
IsCollection returns if the argument is a collection.
func IsEmpty ¶
func IsEmpty(obj interface{}) bool
IsEmpty returns if the object is considered as empty or not.
func IsEqual ¶
func IsEqual(expected interface{}, actual interface{}) bool
IsEqual returns if the two objects are equal
func IsFunction ¶
IsFunction returns if the argument is a function.
func IsIteratee ¶
func IsIteratee(in interface{}) bool
IsIteratee returns if the argument is an iteratee.
func IsType ¶
func IsType(expected interface{}, actual interface{}) bool
IsType returns if the two objects are in the same type
func IsZero ¶
func IsZero(obj interface{}) bool
IsZero returns if the object is considered as zero value
func Join ¶ added in v0.7.0
func Join(larr, rarr interface{}, fnc JoinFnc) interface{}
Join combines two collections using the given join method.
func JoinFloat32 ¶ added in v0.7.0
func JoinFloat32(larr, rarr []float32, fnc JoinFloat32Fnc) []float32
JoinFloat32 combines two float32 collections using the given join method.
func JoinFloat64 ¶ added in v0.7.0
func JoinFloat64(larr, rarr []float64, fnc JoinFloat64Fnc) []float64
JoinFloat64 combines two float64 collections using the given join method.
func JoinInt ¶ added in v0.7.0
func JoinInt(larr, rarr []int, fnc JoinIntFnc) []int
JoinInt combines two int collections using the given join method.
func JoinInt32 ¶ added in v0.7.0
func JoinInt32(larr, rarr []int32, fnc JoinInt32Fnc) []int32
JoinInt32 combines two int32 collections using the given join method.
func JoinInt64 ¶ added in v0.7.0
func JoinInt64(larr, rarr []int64, fnc JoinInt64Fnc) []int64
JoinInt64 combines two int64 collections using the given join method.
func JoinString ¶ added in v0.7.0
func JoinString(larr, rarr []string, fnc JoinStringFnc) []string
JoinString combines two string collections using the given join method.
func Keys ¶
func Keys(out interface{}) interface{}
Keys creates an array of the own enumerable map keys or struct field names.
func LastIndexOf ¶
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 LastIndexOfFloat32 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 LeftJoin ¶ added in v0.7.0
LeftJoin finds and returns dissimilar data from the first collection (left).
func LeftJoinFloat32 ¶ added in v0.7.0
LeftJoinFloat32 finds and returns dissimilar data from the first float32 collection (left).
func LeftJoinFloat64 ¶ added in v0.7.0
LeftJoinFloat64 finds and returns dissimilar data from the first float64 collection (left).
func LeftJoinInt ¶ added in v0.7.0
LeftJoinInt finds and returns dissimilar data from the first int collection (left).
func LeftJoinInt32 ¶ added in v0.7.0
LeftJoinInt32 finds and returns dissimilar data from the first int32 collection (left).
func LeftJoinInt64 ¶ added in v0.7.0
LeftJoinInt64 finds and returns dissimilar data from the first int64 collection (left).
func LeftJoinString ¶ added in v0.7.0
LeftJoinString finds and returns dissimilar data from the first string collection (left).
func Map ¶
func Map(arr interface{}, mapFunc interface{}) interface{}
Map manipulates an iteratee and transforms it to another type.
func MaxFloat32 ¶ added in v0.5.0
func MaxFloat32(i []float32) interface{}
MaxFloat32 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []float32 It returns float32 or nil It returns nil for the following cases:
- input is of length 0
func MaxFloat64 ¶ added in v0.5.0
func MaxFloat64(i []float64) interface{}
MaxFloat64 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []float64 It returns float64 or nil It returns nil for the following cases:
- input is of length 0
func MaxInt ¶ added in v0.5.0
func MaxInt(i []int) interface{}
MaxInt validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int It returns int or nil It returns nil for the following cases:
- input is of length 0
func MaxInt16 ¶ added in v0.5.0
func MaxInt16(i []int16) interface{}
MaxInt16 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int16 It returns int16 or nil It returns nil for the following cases:
- input is of length 0
func MaxInt32 ¶ added in v0.5.0
func MaxInt32(i []int32) interface{}
MaxInt32 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int32 It returns int32 or nil It returns nil for the following cases:
- input is of length 0
func MaxInt64 ¶ added in v0.5.0
func MaxInt64(i []int64) interface{}
MaxInt64 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int64 It returns int64 or nil It returns nil for the following cases:
- input is of length 0
func MaxInt8 ¶ added in v0.5.0
func MaxInt8(i []int8) interface{}
MaxInt8 validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []int8 It returns int8 or nil It returns nil for the following cases:
- input is of length 0
func MaxString ¶ added in v0.5.0
func MaxString(i []string) interface{}
MaxString validates the input, compares the elements and returns the maximum element in an array/slice. It accepts []string It returns string or nil It returns nil for the following cases:
- input is of length 0
func MinFloat32 ¶ added in v0.5.0
func MinFloat32(i []float32) interface{}
MinFloat32 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []float32 It returns float32 or nil It returns nil for the following cases:
- input is of length 0
func MinFloat64 ¶ added in v0.5.0
func MinFloat64(i []float64) interface{}
MinFloat64 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []float64 It returns float64 or nil It returns nil for the following cases:
- input is of length 0
func MinInt ¶ added in v0.5.0
func MinInt(i []int) interface{}
MinInt validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int It returns int or nil It returns nil for the following cases:
- input is of length 0
func MinInt16 ¶ added in v0.5.0
func MinInt16(i []int16) interface{}
MinInt16 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int16 It returns int16 or nil It returns nil for the following cases:
- input is of length 0
func MinInt32 ¶ added in v0.5.0
func MinInt32(i []int32) interface{}
MinInt32 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int32 It returns int32 or nil It returns nil for the following cases:
- input is of length 0
func MinInt64 ¶ added in v0.5.0
func MinInt64(i []int64) interface{}
MinInt64 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int64 It returns int64 or nil It returns nil for the following cases:
- input is of length 0
func MinInt8 ¶ added in v0.5.0
func MinInt8(i []int8) interface{}
MinInt8 validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []int8 It returns int8 or nil It returns nil for the following cases:
- input is of length 0
func MinString ¶ added in v0.5.0
func MinString(i []string) interface{}
MinString validates the input, compares the elements and returns the minimum element in an array/slice. It accepts []string It returns string or nil It returns nil for the following cases:
- input is of length 0
func NotEmpty ¶
func NotEmpty(obj interface{}) bool
NotEmpty returns if the object is considered as non-empty or not.
func NotEqual ¶
func NotEqual(expected interface{}, actual interface{}) bool
NotEqual returns if the two objects are not equal
func OuterJoinFloat32 ¶ added in v0.7.0
OuterJoinFloat32 finds and returns dissimilar data from two float32 collections.
func OuterJoinFloat64 ¶ added in v0.7.0
OuterJoinFloat64 finds and returns dissimilar data from two float64 collections.
func OuterJoinInt ¶ added in v0.7.0
OuterJoinInt finds and returns dissimilar data from two int collections.
func OuterJoinInt32 ¶ added in v0.7.0
OuterJoinInt32 finds and returns dissimilar data from two int32 collections.
func OuterJoinInt64 ¶ added in v0.7.0
OuterJoinInt64 finds and returns dissimilar data from two int64 collections.
func OuterJoinString ¶ added in v0.7.0
OuterJoinString finds and returns dissimilar data from two string collections.
func Product ¶
func Product(arr interface{}) float64
Product computes the product of the values in array.
func PtrOf ¶
func PtrOf(itf interface{}) interface{}
PtrOf makes a copy of the given interface and returns a pointer.
func RandomString ¶
RandomString returns a random string with a fixed length
func Reduce ¶
func Reduce(arr, reduceFunc, acc interface{}) float64
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 ¶
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 ReverseFloat32 ¶
ReverseFloat32 reverses an array of float32
func ReverseFloat64 ¶
ReverseFloat64 reverses an array of float64
func ReverseStrings ¶
ReverseStrings reverses an array of string
func RightJoin ¶ added in v0.7.0
LeftJoin finds and returns dissimilar data from the second collection (right).
func RightJoinFloat32 ¶ added in v0.7.0
LeftJoinFloat32 finds and returns dissimilar data from the second float32 collection (right).
func RightJoinFloat64 ¶ added in v0.7.0
LeftJoinFloat64 finds and returns dissimilar data from the second float64 collection (right).
func RightJoinInt ¶ added in v0.7.0
LeftJoinInt finds and returns dissimilar data from the second int collection (right).
func RightJoinInt32 ¶ added in v0.7.0
LeftJoinInt32 finds and returns dissimilar data from the second int32 collection (right).
func RightJoinInt64 ¶ added in v0.7.0
LeftJoinInt64 finds and returns dissimilar data from the second int64 collection (right).
func RightJoinString ¶ added in v0.7.0
LeftJoinString finds and returns dissimilar data from the second string collection (right).
func ShuffleFloat32 ¶
ShuffleFloat32 creates an array of float32 shuffled values using Fisher–Yates algorithm
func ShuffleFloat64 ¶
ShuffleFloat64 creates an array of float64 shuffled values using Fisher–Yates algorithm
func ShuffleInt ¶
ShuffleInt creates an array of int shuffled values using Fisher–Yates algorithm
func ShuffleInt32 ¶
ShuffleInt32 creates an array of int32 shuffled values using Fisher–Yates algorithm
func ShuffleInt64 ¶
ShuffleInt64 creates an array of int64 shuffled values using Fisher–Yates algorithm
func ShuffleString ¶
ShuffleString creates an array of string shuffled values using Fisher–Yates algorithm
func SliceOf ¶
func SliceOf(in interface{}) interface{}
SliceOf returns a slice which contains the element.
func Some ¶ added in v0.5.0
func Some(in interface{}, elements ...interface{}) bool
Some returns true if atleast one element is present in an iteratee.
Example ¶
a := []string{"foo", "bar", "baz"} fmt.Println(Some(a, "foo", "qux")) b := "Mark Shaun" fmt.Println(Some(b, "Marc", "Sean"))
Output: true false
func Subset ¶ added in v0.7.0
func Subset(x interface{}, y interface{}) bool
Subset returns true if collection x is a subset of y.
func Subtract ¶ added in v0.6.0
func Subtract(x interface{}, y interface{}) interface{}
Subtract returns the subtraction between two collections.
func SubtractString ¶ added in v0.6.0
SubtractString returns the subtraction between two collections of string
func SumFloat32 ¶
SumFloat32 sums a float32 iteratee and returns the sum of all elements
func SumFloat64 ¶
SumFloat64 sums a float64 iteratee and returns the sum of all elements
func ToMap ¶
func ToMap(in interface{}, pivot string) interface{}
ToMap transforms a slice of instances to a Map. []*Foo => Map<int, *Foo>
func UniqFloat32 ¶
UniqFloat32 creates an array of float32 with unique values.
func UniqFloat64 ¶
UniqFloat64 creates an array of float64 with unique values.
func UniqString ¶
UniqString creates an array of string with unique values.
func Values ¶
func Values(out interface{}) interface{}
Values creates an array of the own enumerable map values or struct field values.
Types ¶
type Builder ¶
type Builder interface { Chunk(size int) Builder Compact() Builder Drop(n int) Builder Filter(predicate interface{}) Builder FlattenDeep() Builder Initial() Builder Intersect(y interface{}) Builder Join(rarr interface{}, fnc JoinFnc) Builder Map(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{}) float64 Sum() float64 Type() reflect.Type Value() interface{} Values() interface{} }
Builder contains all tools which can be chained.
func Chain ¶
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 ¶
v := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} chain := Chain(v) lazy := LazyChain(v) // Without builder a := Filter(v, func(x int) bool { return x%2 == 0 }) b := Map(a, func(x int) int { return x * 2 }) c := Reverse(a) fmt.Printf("funk.Contains(b, 2): %v\n", Contains(b, 2)) // false fmt.Printf("funk.Contains(b, 4): %v\n", Contains(b, 4)) // true fmt.Printf("funk.Sum(b): %v\n", Sum(b)) // 40 fmt.Printf("funk.Head(b): %v\n", Head(b)) // 4 fmt.Printf("funk.Head(c): %v\n\n", Head(c)) // 8 // With simple chain builder ca := chain.Filter(func(x int) bool { return x%2 == 0 }) cb := ca.Map(func(x int) int { return x * 2 }) cc := ca.Reverse() fmt.Printf("chainB.Contains(2): %v\n", cb.Contains(2)) // false fmt.Printf("chainB.Contains(4): %v\n", cb.Contains(4)) // true fmt.Printf("chainB.Sum(): %v\n", cb.Sum()) // 40 fmt.Printf("chainB.Head(): %v\n", cb.Head()) // 4 fmt.Printf("chainC.Head(): %v\n\n", cc.Head()) // 8 // With lazy chain builder la := lazy.Filter(func(x int) bool { return x%2 == 0 }) lb := la.Map(func(x int) int { return x * 2 }) lc := la.Reverse() fmt.Printf("lazyChainB.Contains(2): %v\n", lb.Contains(2)) // false fmt.Printf("lazyChainB.Contains(4): %v\n", lb.Contains(4)) // true fmt.Printf("lazyChainB.Sum(): %v\n", lb.Sum()) // 40 fmt.Printf("lazyChainB.Head(): %v\n", lb.Head()) // 4 fmt.Printf("lazyChainC.Head(): %v\n", lc.Head()) // 8
Output:
func LazyChain ¶
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 ¶
us := updatingStruct{} chain := Chain(us.x). Map(func(x int) float64 { return float64(x) * 2.5 }) lazy := LazyChain(us.x). Map(func(x int) float64 { return float64(x) * 2.5 }) lazyWith := LazyChainWith(us.Values). Map(func(x int) float64 { return float64(x) * 2.5 }) fmt.Printf("chain.Sum(): %v\n", chain.Sum()) // 0 fmt.Printf("lazy.Sum(): %v\n", lazy.Sum()) // 0 fmt.Printf("lazyWith.Sum(): %v\n\n", lazyWith.Sum()) // 0 us.x = append(us.x, 2) fmt.Printf("chain.Sum(): %v\n", chain.Sum()) // 0 fmt.Printf("lazy.Sum(): %v\n", lazy.Sum()) // 0 fmt.Printf("lazyWith.Sum(): %v\n\n", lazyWith.Sum()) // 5 us.x = append(us.x, 10) fmt.Printf("chain.Sum(): %v\n", chain.Sum()) // 0 fmt.Printf("lazy.Sum(): %v\n", lazy.Sum()) // 0 fmt.Printf("lazyWith.Sum(): %v\n\n", lazyWith.Sum()) // 30
Output:
func LazyChainWith ¶
func LazyChainWith(generator func() interface{}) Builder
LazyChainWith creates a lzy 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.