This repository contains a collection of utility libraries implemented in Go, designed to assist in a variety of common programming tasks. Each module addresses a particular set of functions or data structures.
To use or contribute to this project, you need to have at least Go 1.22 installed. This is due to the usage of features and packages introduced in this version.
-
uarray: Utilities related to array manipulations and operations.
-
uasync: Utilities that help to organize async operations.
-
uerror: Provides utilities for error handling.
-
ufile: Utilities for efficient file handling.
-
umap: Helper functions for working with maps in Go.
-
umath: Mathematical utilities and helpers.
-
unumber: Versatile numeric representation.
-
uopt: Optional type implementations, which may hold a value or represent the absence of one.
-
uos: Operating system related utilities.
-
upair: Pair package (experimental).
-
uqueue: Implements both a FIFO (First-In-First-Out) queue and a priority queue with thread safety and various utility functions.
-
uref: Utilities related to references.
-
uset: (WIP) Package with Set implementation.
-
usql: Utilities related to sql types and methods.
-
usrlz: Serialization package.
-
ustr: Utilities related to string operations.
-
ustream: Experimental stream implementation for rare operations.
Make sure you have Go installed on your machine. Then, use go get
to install the package:
go get -u github.com/kordax/basic-utils
You can import each module individually or import the main module and it depends on your needs. For example, to use the queue library:
go get -u github.com/kordax/basic-utils/uqueue
then...
import "github.com/kordax/basic-utils/uqueue"
Then, refer to the individual documentation or code comments of each module for specific usage patterns.
The repository also includes a staticcheck.conf file, indicating that it might be set up to use the staticcheck tool for static code analysis. Run staticcheck in the root directory to perform a code quality check.
Developed by @kordax (Dmitry Morozov)