util

package
v0.2.34 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BytesToStruct

func BytesToStruct[T any](data []byte) (T, error)

func JSONToStruct

func JSONToStruct[T any](src any) (T, error)

func Pointer

func Pointer[T any](v T) *T

func TimeIt

func TimeIt(fn func() error) (time.Duration, error)

Types

type Locker

type Locker[T any] struct {
	// contains filtered or unexported fields
}

Locker — обёртка для любого типа с мьютексом (хранит указатель на значение).

func NewLocker

func NewLocker[T any](value T) *Locker[T]

NewLocker создаёт новую защищённую структуру.

func (*Locker[T]) Get

func (l *Locker[T]) Get() T

Get безопасно возвращает копию текущего значения.

func (*Locker[T]) GetPointer

func (l *Locker[T]) GetPointer() *T

GetPointer безопасно возвращает указатель на текущее значение.

func (*Locker[T]) Set

func (l *Locker[T]) Set(value T)

Set заменяет значение полностью (атомарно).

func (*Locker[T]) Update

func (l *Locker[T]) Update(fn func(value *T))

Update безопасно изменяет значение "на месте". Функция `fn` получает указатель и может менять значение без возврата.

type Slice

type Slice[T any] struct {
	// contains filtered or unexported fields
}

func NewSlice

func NewSlice[T any]() *Slice[T]

func NewSliceWithLength

func NewSliceWithLength[T any](length int) *Slice[T]

func (*Slice[T]) Add

func (s *Slice[T]) Add(item T)

func (*Slice[T]) AddMany

func (s *Slice[T]) AddMany(items []T)

func (*Slice[T]) AddToIndex

func (s *Slice[T]) AddToIndex(index int, item T)

func (*Slice[T]) GetAll

func (s *Slice[T]) GetAll() []T

func (*Slice[T]) Len

func (s *Slice[T]) Len() int

Directories

Path Synopsis
original package located here https://github.com/mcuadros/go-lookup
original package located here https://github.com/mcuadros/go-lookup

Jump to

Keyboard shortcuts

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