datautil

package
v2.3.61 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Batch

func Batch[T any, V any](fn func(T) V, ts []T) []V

Batch применяет функцию fn к каждому элементу ts.

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

func CopyStructFields(a any, b any, fields ...string) (err error)

CopyStructFields копирует поля из b в a.

func Delete

func Delete[E any](es []E, index ...int) []E

Delete удаляет элементы из среза, поддерживает отрицательные числа для удаления элементов с конца.

func DeleteAt

func DeleteAt[E any](es *[]E, index ...int) []E

DeleteAt удаляет элементы из среза, поддерживает отрицательные числа для удаления элемента с конца.

func Distinct

func Distinct[T comparable](ts []T) []T

Distinct удаляет дубликаты из среза.

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 EqualMaps added in v2.2.0

func EqualMaps(a, b map[string]string) bool

EqualMaps Функция для сравнения карт

func Filter

func Filter[E, T any](es []E, fn func(e E) (T, bool)) []T

Filter фильтрует элементы с помощью заданной функции.

func GetElemByIndex

func GetElemByIndex(array []int, index int) (int, error)

GetElemByIndex возвращает элемент из массива по индексу.

func GetSwitchFromOptions

func GetSwitchFromOptions(Options map[string]bool, key string) (result bool)

GetSwitchFromOptions извлекает значение ключа из настроек.

func HasKey

func HasKey[K comparable, V any](m map[K]V, k K) bool

HasKey проверяет, содержит ли мапа ключ.

func If

func If[T any](isa bool, a, b T) T

If возвращает a, если true, иначе b.

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 InitSlice

func InitSlice[T any](val *[]T)

InitSlice инициализирует срез, если он nil.

func Keys

func Keys[K comparable, V any](kv map[K]V) []K

Keys возвращает ключи из мапы.

func Max

func Max[E Ordered](e ...E) E

Max возвращает максимальное значение из нескольких.

func Min

func Min[E Ordered](e ...E) E

Min возвращает минимальное значение из нескольких.

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 Paginate

func Paginate[E any](es []E, pageNumber int, showNumber int) []E

Paginate выполняет пагинацию среза.

func SetSwitchFromOptions

func SetSwitchFromOptions(options map[string]bool, key string, value bool)

SetSwitchFromOptions устанавливает значение ключа в настройках.

func Single

func Single[E comparable](a, b []E) []E

Single возвращает элементы, которые присутствуют в a и отсутствуют в b, или наоборот.

func Slice

func Slice[E any, T any](es []E, fn func(e E) T) []T

Slice преобразует типы срезов батчами.

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 Sort

func Sort[E Ordered](es []E, asc bool) []E

Sort базовая сортировка типов.

func SortAny

func SortAny[E any](es []E, fn func(a, b E) bool)

SortAny настраиваемый метод сортировки.

func StructFieldNotNilReplace

func StructFieldNotNilReplace(dest, src any)

StructFieldNotNilReplace копирует значения полей из src в dest, если они не нулевые.

func ToPtr

func ToPtr[T any](t T) *T

ToPtr возвращает указатель на t.

func UniqueJoin

func UniqueJoin(s ...string) string

UniqueJoin объединяет уникальные строки в одну с помощью JSON.

func Values

func Values[K comparable, V any](kv map[K]V) []V

Values возвращает значения из мапы.

Types

type Ordered

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

Ordered определяет типы, которые могут быть отсортированы.

Jump to

Keyboard shortcuts

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