extra/doc.md

6.5 KiB
Executable file
Raw Permalink Blame History

channels

import "go.neonxp.ru/extra/channels"

Функции работы над каналами

Index

func FanIn

func FanIn[T any](chans ...chan T) chan T

FanIn сливает несколько каналов в один

func FanOut

func FanOut[T any](in chan T, workers int) []chan T

FanOut раскидывает очередь канала на несколько каналов равномерно

collections

import "go.neonxp.ru/extra/collections"

Функции работы над обобщенными коллекциями

Index

func Merge

func Merge[T utils.Sortable[T]](s1, s2 []T) []T

Merge стабильное слияние двух слайсов

func MergeScalar

func MergeScalar[T utils.Scalar](s1, s2 []T) []T

MergeScalar стабильное слияние двух слайсов скаляров

levenshtein

import "go.neonxp.ru/extra/levenshtein"

Пакет с функциями получения редакторских правок по Левенштейну

Index

type Edit

Edit редакторская правка описывающее одно действие над исходной последовательностью

type Edit struct {
    Type EditType // Тип правки: Вставка/Замена/Удаление
    Idx1 int      // Индекс элемента из первой последовательности
    Idx2 int      // Индекс элемента из второй последовательности
}

func Levenshtein

func Levenshtein[T comparable](s1, s2 []T, cost EditCost[T]) []Edit

Levenshtein возвращает последовательность правок для превращения последовательности элементов s1 в s2 с учетом стоимостей операций возвращаемых функцией cost TODO в алгоритме не предусмотрена экономия памяти ¯\_(ツ)_/¯

func String

func String(s1, s2 string) []Edit

String возвращает последовательность правок для превращения строки s1 в строку s2

func Strings

func Strings(s1, s2 []string) []Edit

Strings возвращает последовательность правок для превращения слайса строк s1 в слайс строк s2

type EditCost

EditCost функция возвращающая стоимость действия t над элементами from, to

type EditCost[T comparable] func(t EditType, from *T, to *T) int

type EditType

EditType тип правки

type EditType int
const (
    Insert  EditType = iota // Вставка
    Replace                 // Замена
    Delete                  // Удаление
)

math

import "go.neonxp.ru/extra/math"

Пакет с математическими функциями над обобщенными типами

Index

func Max

func Max[T utils.Sortable[T]](a ...T) T

Max возвращает максимальное из переданных Sortable значений

func MaxScalar

func MaxScalar[T utils.Scalar](a ...T) T

MaxScalar возвращает максимальное из переданных скалярных значений

func Min

func Min[T utils.Sortable[T]](a ...T) T

Min возвращает минимальное из переданных Sortable значений

func MinScalar

func MinScalar[T utils.Scalar](a ...T) T

MinScalar возвращает минимальное из переданных скалярных значений

subseq

import "go.neonxp.ru/extra/subseq"

Пакет с функциями получения подпоследовательностей например\, подстроки

Index

func MaxSubsequence

func MaxSubsequence(s1, s2 string) string

MaxSubsequence возвращает максимальную общую подпоследовательность символов

func MaxSubset

func MaxSubset[T comparable](s1, s2 []T) []T

func MaxSubsetSequence

func MaxSubsetSequence[T comparable](s1, s2 []T) []T

func MaxSubstring

func MaxSubstring(s1, s2 string) string

MaxSubstring возвращаает максимальную общую подстроку

utils

import "go.neonxp.ru/extra/utils"

Всякое разное

Index

func Ptr

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

Ptr получение указателя от произвольного значения, например, ToPtr(true) -> *bool(true)

type Scalar

Scalar соответствует скалярам над которыми определены операции сравнения

type Scalar interface {
    // contains filtered or unexported methods
}

type Sortable

Sortable соответствует типам над которыми определена операция Less

type Sortable[T any] interface {
    Less(T) bool
}

Generated by gomarkdoc