Documentation ¶
Index ¶
- func Batch[T any, V any](fn func(T) V, ts []T) []V
- func BothExist[E comparable](es ...[]E) []E
- func BothExistAny[E any, K comparable](es [][]E, fn func(e E) K) []E
- func Complete[E comparable](a []E, b []E) bool
- func Contain[E comparable](e E, es ...E) bool
- func CopyStructFields(a any, b any, fields ...string) (err error)
- func Delete[E any](es []E, index ...int) []E
- func DeleteAt[E any](es *[]E, index ...int) []E
- func Distinct[T comparable](ts []T) []T
- func DistinctAny[E any, K comparable](es []E, fn func(e E) K) []E
- func DistinctAnyGetComparable[E any, K comparable](es []E, fn func(e E) K) []K
- func Duplicate[E comparable](es []E) bool
- func DuplicateAny[E any, K comparable](es []E, fn func(e E) K) bool
- func Equal[E comparable](a []E, b []E) bool
- func EqualMaps(a, b map[string]string) bool
- func Filter[E, T any](es []E, fn func(e E) (T, bool)) []T
- func GetElemByIndex(array []int, index int) (int, error)
- func GetSwitchFromOptions(Options map[string]bool, key string) (result bool)
- func HasKey[K comparable, V any](m map[K]V, k K) bool
- func If[T any](isa bool, a, b T) T
- func IndexAny[E any, K comparable](e E, es []E, fn func(e E) K) int
- func IndexOf[E comparable](e E, es ...E) int
- func InitMap[K comparable, V any](val *map[K]V)
- func InitSlice[T any](val *[]T)
- func Keys[K comparable, V any](kv map[K]V) []K
- func Max[E Ordered](e ...E) E
- func Min[E Ordered](e ...E) E
- func NotNilReplace[T any](old, new_ *T)
- func Order[E comparable, T any](es []E, ts []T, fn func(t T) E) []T
- func OrderPtr[E comparable, T any](es []E, ts *[]T, fn func(t T) E) []T
- func Paginate[E any](es []E, pageNumber int, showNumber int) []E
- func SetSwitchFromOptions(options map[string]bool, key string, value bool)
- func Single[E comparable](a, b []E) []E
- func Slice[E any, T any](es []E, fn func(e E) T) []T
- func SliceAnySub[E any, T comparable](a, b []E, fn func(t E) T) []E
- func SliceSet[E comparable](es []E) map[E]struct{}
- func SliceSetAny[E any, K comparable](es []E, fn func(e E) K) map[K]struct{}
- func SliceSub[E comparable](a, b []E) []E
- func SliceSubAny[E comparable, T any](a []E, b []T, fn func(t T) E) []E
- func SliceToMap[E any, K comparable](es []E, fn func(e E) K) map[K]E
- func SliceToMapAny[E any, K comparable, V any](es []E, fn func(e E) (K, V)) map[K]V
- func SliceToMapOkAny[E any, K comparable, V any](es []E, fn func(e E) (K, V, bool)) map[K]V
- func Sort[E Ordered](es []E, asc bool) []E
- func SortAny[E any](es []E, fn func(a, b E) bool)
- func StructFieldNotNilReplace(dest, src any)
- func ToPtr[T any](t T) *T
- func UniqueJoin(s ...string) string
- func Values[K comparable, V any](kv map[K]V) []V
- type Ordered
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BothExist ¶
func BothExist[E comparable](es ...[]E) []E
BothExist находит общие элементы в срезах.
func BothExistAny ¶
func BothExistAny[E any, K comparable](es [][]E, fn func(e E) K) []E
BothExistAny получает элементы, которые есть в нескольких срезах.
func Complete ¶
func Complete[E comparable](a []E, b []E) bool
Complete проверяет, равны ли a и b после удаления дубликатов (игнорируя порядок).
func Contain ¶
func Contain[E comparable](e E, es ...E) bool
Contain проверяет, содержится ли элемент в срезе.
func CopyStructFields ¶
CopyStructFields копирует поля из b в a.
func Delete ¶
Delete удаляет элементы из среза, поддерживает отрицательные числа для удаления элементов с конца.
func DeleteAt ¶
DeleteAt удаляет элементы из среза, поддерживает отрицательные числа для удаления элемента с конца.
func DistinctAny ¶
func DistinctAny[E any, K comparable](es []E, fn func(e E) K) []E
DistinctAny удаляет дубликаты из среза.
func DistinctAnyGetComparable ¶
func DistinctAnyGetComparable[E any, K comparable](es []E, fn func(e E) K) []K
DistinctAnyGetComparable возвращает уникальные значения из среза на основе функции fn.
func Duplicate ¶
func Duplicate[E comparable](es []E) bool
Duplicate проверяет, есть ли дубликаты в срезе.
func DuplicateAny ¶
func DuplicateAny[E any, K comparable](es []E, fn func(e E) K) bool
DuplicateAny проверяет, есть ли дубликаты через fn.
func Equal ¶
func Equal[E comparable](a []E, b []E) bool
Equal сравнивает два среза, включая порядок элементов.
func GetElemByIndex ¶
GetElemByIndex возвращает элемент из массива по индексу.
func GetSwitchFromOptions ¶
GetSwitchFromOptions извлекает значение ключа из настроек.
func HasKey ¶
func HasKey[K comparable, V any](m map[K]V, k K) bool
HasKey проверяет, содержит ли мапа ключ.
func IndexAny ¶
func IndexAny[E any, K comparable](e E, es []E, fn func(e E) K) int
IndexAny получает индекс элемента в срезе по сравнению с fn.
func IndexOf ¶
func IndexOf[E comparable](e E, es ...E) int
IndexOf получает индекс элемента в срезе es.
func InitMap ¶
func InitMap[K comparable, V any](val *map[K]V)
InitMap инициализирует мапу, если она nil.
func NotNilReplace ¶
func NotNilReplace[T any](old, new_ *T)
NotNilReplace заменяет old на new_, если new_ не nil.
func Order ¶
func Order[E comparable, T any](es []E, ts []T, fn func(t T) E) []T
Order сортирует ts по es.
func OrderPtr ¶
func OrderPtr[E comparable, T any](es []E, ts *[]T, fn func(t T) E) []T
OrderPtr сортирует ts по es и обновляет указатель на ts.
func SetSwitchFromOptions ¶
SetSwitchFromOptions устанавливает значение ключа в настройках.
func Single ¶
func Single[E comparable](a, b []E) []E
Single возвращает элементы, которые присутствуют в a и отсутствуют в b, или наоборот.
func SliceAnySub ¶
func SliceAnySub[E any, T comparable](a, b []E, fn func(t E) T) []E
SliceAnySub возвращает элементы в срезе a, которые отсутствуют в срезе b (a - b). fn - функция, которая извлекает сравнимое значение из элементов среза a.
func SliceSet ¶
func SliceSet[E comparable](es []E) map[E]struct{}
SliceSet преобразует срез в мапу[E]struct{}.
func SliceSetAny ¶
func SliceSetAny[E any, K comparable](es []E, fn func(e E) K) map[K]struct{}
SliceSetAny преобразует срез в мапу[K]struct{}.
func SliceSub ¶
func SliceSub[E comparable](a, b []E) []E
SliceSub возвращает элементы в срезе a, которые отсутствуют в срезе b (a - b).
func SliceSubAny ¶
func SliceSubAny[E comparable, T any](a []E, b []T, fn func(t T) E) []E
SliceSubAny возвращает элементы в срезе a, которые отсутствуют в срезе b (a - b). fn - функция, которая конвертирует элементы среза b в элементы, сравнимые с элементами среза a.
func SliceToMap ¶
func SliceToMap[E any, K comparable](es []E, fn func(e E) K) map[K]E
SliceToMap преобразует срез в мапу.
func SliceToMapAny ¶
func SliceToMapAny[E any, K comparable, V any](es []E, fn func(e E) (K, V)) map[K]V
SliceToMapAny преобразует срез в мапу.
func SliceToMapOkAny ¶
func SliceToMapOkAny[E any, K comparable, V any](es []E, fn func(e E) (K, V, bool)) map[K]V
SliceToMapOkAny преобразует срез в мапу.
func StructFieldNotNilReplace ¶
func StructFieldNotNilReplace(dest, src any)
StructFieldNotNilReplace копирует значения полей из src в dest, если они не нулевые.
func UniqueJoin ¶
UniqueJoin объединяет уникальные строки в одну с помощью JSON.