Documentation ¶
Overview ¶
Package util provides utility functions and helpers.
Index ¶
- func AddrOrNil[T comparable](x T) *T
- func Capitalize(s string) string
- func ChunkBy[T any](items []T, chunkSize int) (chunks [][]T)
- func Contains[T comparable](collection []T, element T) bool
- func CopyMap[K, V comparable](m map[K]V) map[K]V
- func CosineSimilarity(matrix1, matrix2 [][]float64) float64
- func Difference[T comparable](list1 []T, list2 []T) ([]T, []T)
- func Filter[T any](collection []T, f func(e T, i int) bool) []T
- func Float32ToFloat64(v []float32) []float64
- func Float64ToFloat32(v []float64) []float32
- func Intersect[T comparable](list1 []T, list2 []T) []T
- func KeyDifference(map1, map2 map[string]any) []string
- func Keys[M ~map[K]V, K comparable, V any](m M) []K
- func Map[T, U any](ts []T, f func(e T, i int) U) []U
- func MergeMaps[M ~map[K]V, K comparable, V any](src ...M) M
- func OmitByKeys[K comparable, V any](in map[K]V, keys []K) map[K]V
- func ParseHTMLAndGetStrippedStrings(htmlContent string) (string, error)
- func StructToMap(obj interface{}) map[string]interface{}
- func SumInt[T int | uint](slice []T) T
- func Uniq[T comparable](collection []T) []T
- type Set
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddrOrNil ¶
func AddrOrNil[T comparable](x T) *T
AddrOrNil returns nil if x is the zero value for T, or &x otherwise.
func Capitalize ¶
Capitalize capitalizes the first letter of the given string. If the input string is empty, it returns the input string itself.
func Contains ¶
func Contains[T comparable](collection []T, element T) bool
Contains checks if the given element is present in the collection.
func CopyMap ¶
func CopyMap[K, V comparable](m map[K]V) map[K]V
CopyMap creates a new copy of the given map and returns it.
func CosineSimilarity ¶
func Difference ¶
func Difference[T comparable](list1 []T, list2 []T) ([]T, []T)
Difference returns the difference between two collections.
func Filter ¶
Filter applies a filtering function to a collection and returns a new slice containing the elements that satisfy the provided predicate function.
func Float32ToFloat64 ¶
Float32ToFloat64 converts a slice of float32 values to a slice of float64 values. It creates a new slice and populates it with the corresponding float64 values.
func Float64ToFloat32 ¶
Float64ToFloat32 converts a slice of float64 values to a slice of float32 values. It creates a new slice and populates it with the corresponding float32 values.
func Intersect ¶
func Intersect[T comparable](list1 []T, list2 []T) []T
Intersect returns the intersection between two collections.
func KeyDifference ¶
KeyDifference finds the keys that are present in one map and not in the other map.
func Keys ¶
func Keys[M ~map[K]V, K comparable, V any](m M) []K
Keys returns the keys of the map m. The keys will be an indeterminate order.
func MergeMaps ¶
func MergeMaps[M ~map[K]V, K comparable, V any](src ...M) M
MergeMaps merges multiple maps into a single map and returns the merged result.
func OmitByKeys ¶
func OmitByKeys[K comparable, V any](in map[K]V, keys []K) map[K]V
OmitByKeys creates a new map by omitting key-value pairs from the input map based on the specified keys.
func ParseHTMLAndGetStrippedStrings ¶
ParseHTMLAndGetStrippedStrings parses the HTML content and returns the stripped strings. It uses the goquery package to extract the text from HTML elements.
func StructToMap ¶
func StructToMap(obj interface{}) map[string]interface{}
func Uniq ¶
func Uniq[T comparable](collection []T) []T
Uniq returns a new slice containing unique elements from the given collection.
Types ¶
type Set ¶
type Set[K comparable] struct { // contains filtered or unexported fields }
func SetOf ¶
func SetOf[K comparable](elements ...K) Set[K]
SetOf returns a new set initialized with the given elements
func (Set[K]) Each ¶
func (s Set[K]) Each(fn func(key K))
Each calls 'fn' on every element in the set in no particular order.