syncx

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2022 License: MIT Imports: 4 Imported by: 1

README

syncx

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Group

type Group struct {
	// contains filtered or unexported fields
}

Group is similar to errgroup.Group, but it gives you an errors channel to listen to all of the errors from the goroutines.

func (*Group) Errors

func (g *Group) Errors() <-chan error

Errors returns a channel that will receive all of the errors from the goroutines. This channel will be closed when the group is done. This method should be called **BEFORE** loading any Go functions. otherwise you run the risk of missing errors.

wg := &Group{}
errs := wg.Errors()
wg.Go(func() error {
	return nil
})
wg.Wait()

func (*Group) Go

func (g *Group) Go(fn func() error)

func (*Group) Wait

func (g *Group) Wait() error

Wait blocks until all of the goroutines have completed. If any of the goroutines return an error, Wait will return the first error reported. To get all of the errors, use `Errors()`

type Map

type Map[K constraints.Ordered, V any] struct {
	// contains filtered or unexported fields
}

Map is a synchronized map.

func NewMap

func NewMap[K constraints.Ordered, V any](m map[K]V) *Map[K, V]

NewMap returns a new Map from the given map. If the map is nil, a new map is created.

func (*Map[K, V]) Clear

func (m *Map[K, V]) Clear()

Clear removes all items from the map.

func (*Map[K, V]) Clone added in v1.1.0

func (m *Map[K, V]) Clone() *Map[K, V]

Clone returns a new Map with a copy of the underlying map.

func (*Map[K, V]) Delete

func (m *Map[K, V]) Delete(k K) bool

Delete removes the item for the given key. Returns true if an item was in the map and deleted.

func (*Map[K, V]) Get

func (m *Map[K, V]) Get(k K) (V, bool)

Get returns the value for the given key. Returns false if the key does not exist in the map.

func (*Map[K, V]) Keys

func (m *Map[K, V]) Keys() []K

Keys returns a sorted slice of the keys in the map.

func (*Map[K, V]) Len

func (m *Map[K, V]) Len() int

Len returns the number of items in the map.

func (*Map[K, V]) Range

func (m *Map[K, V]) Range(f func(k K, v V) bool)

Range calls f sequentially for each key and value present in the map. Returning true from f will terminate the iteration.

func (*Map[K, V]) Set

func (m *Map[K, V]) Set(k K, v V)

Set sets the value for the given key.

Jump to

Keyboard shortcuts

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