Categorygithub.com/more-infra/base
repositorypackage
0.0.0-20241027000905-5e451f0e72aa
Repository: https://github.com/more-infra/base.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

more-infra/base

Github CI Go Report Card Release Go Reference License: MIT

The basic structures and design modes which could be used by projects.
It includes many typical and common data structures,functions for basic using.

Packages

namedescription
errorbasic struct for error interface which has more information wrapped
runnerbackground goroutine controller with channel sign and sync.WaitGroup
statuswork status controller such as starting,started,stopping,stopped
elementitem container supports safe thread operations and provides simple features database used, such as index,search
queuechan with dynamic capacity
reactorreactor design mode for resolving sync locking and concurrent controlling, which is similar to event loop processing
mcontextput multiple contexts into one which implements the context.Context interface
chanpooldo select for multiple channels which is ambiguous
triggerpack input elements stream to batch by controlling params or function
valuesstrings matcher with multiple regex and wildcard pre-built
varfmtformat string with variable by custom syntax and variable value provider
schedulerdynamic goroutine pool for executing tasks, which could be controlled by custom options
kvconvert between struct object with tag defined and map[string]interface{} like json/yaml Marshal/Unmarshal do.

Development

Now, this project is in developing stage, so the code is changing frequently. A new version will be published every week at Friday.