gogo

package module
v0.12.2 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2024 License: AGPL-3.0 Imports: 0 Imported by: 0

README

gogo

A Go (Golang) toolbox.


This library is not systematic and just contains some scattered tools.

The library is under development. More codes and documents will be added in the future.

Incompatibility

At the current stage, there is no guarantee that this library will keep compatible with previous versions.

To avoid incompatibility issues, please specify the version (e.g., v0.3.0) or the revision number / commit hash (e.g., 309594fd) explicitly and do not use the latest version.

For information about how to specify the version, see the Go documentation.

Branch name change

The default branch has been renamed from master to main since April 4, 2022.

Please update your local clone if it still refers to origin/master. To do so, from your local clone of the repository, run the following commands:

$ git branch -m OLD-BRANCH-NAME NEW-BRANCH-NAME
$ git fetch origin
$ git branch -u origin/main NEW-BRANCH-NAME
$ git remote set-head origin -a
$ git remote prune origin

where OLD-BRANCH-NAME is the current name of your local branch referring to origin/master, usually named master; NEW-BRANCH-NAME is the new name of that branch, usually named main.

For more information about renaming a branch, see the GitHub documentation.

License

The GNU Affero General Public License 3.0 (AGPL-3.0) - Yuan Gao. Please have a look at the LICENSE.

Contact

You can contact me by email: <donyoridoyodoyo@outlook.com>.

Documentation

Overview

Package gogo provides tools for programming with Go (Golang).

See its subpackages for details on its function.

Directories

Path Synopsis
Package algorithm provides basic algorithms.
Package algorithm provides basic algorithms.
mathalgo
Package mathalgo provides algorithms about mathematics.
Package mathalgo provides algorithms about mathematics.
permutation
Package permutation provides algorithms about permutations.
Package permutation provides algorithms about permutations.
search
Package search provides search algorithms.
Package search provides search algorithms.
search/graphv
Package graphv provides search algorithm on graphs, where only the vertices are concerned.
Package graphv provides search algorithm on graphs, where only the vertices are concerned.
search/sequence
Package sequence provides search algorithms on sequences.
Package sequence provides search algorithms on sequences.
search/tree
Package tree provides search algorithms on trees.
Package tree provides search algorithms on trees.
Package concurrency provides utilities and frameworks for concurrent programming.
Package concurrency provides utilities and frameworks for concurrent programming.
framework
Package framework provides frameworks for concurrent programming.
Package framework provides frameworks for concurrent programming.
framework/jobsched
Package jobsched provides a framework for job scheduling.
Package jobsched provides a framework for job scheduling.
framework/jobsched/queue
Package queue provides some prefabs that implement github.com/donyori/gogo/concurrency/framework/jobsched.JobQueue.
Package queue provides some prefabs that implement github.com/donyori/gogo/concurrency/framework/jobsched.JobQueue.
framework/spmd
Package spmd provides a basic framework for SPMD (single program, multiple data) style programming.
Package spmd provides a basic framework for SPMD (single program, multiple data) style programming.
Package constraints provides some basic constraints that can be used by other types and functions and embedded in other constraints.
Package constraints provides some basic constraints that can be used by other types and functions and embedded in other constraints.
Package container provides OOP-style containers.
Package container provides OOP-style containers.
heap
Package heap provides OOP-style heap-based containers (such as priority queues).
Package heap provides OOP-style heap-based containers (such as priority queues).
heap/pqueue
Package pqueue provides OOP-style priority queues.
Package pqueue provides OOP-style priority queues.
heap/topkbuf
Package topkbuf provides OOP-style buffers for storing the top-K greatest items.
Package topkbuf provides OOP-style buffers for storing the top-K greatest items.
mapping
Package mapping provides OOP-style maps.
Package mapping provides OOP-style maps.
sequence
Package sequence provides OOP-style sequences.
Package sequence provides OOP-style sequences.
sequence/array
Package array provides OOP-style arrays (direct-access sequences).
Package array provides OOP-style arrays (direct-access sequences).
set
Package set provides OOP-style sets.
Package set provides OOP-style sets.
set/mapset
Package mapset provides an implementation of interface github.com/donyori/container/set.Set based on Go map.
Package mapset provides an implementation of interface github.com/donyori/container/set.Set based on Go map.
Package copyright provides functions about copyright and licenses.
Package copyright provides functions about copyright and licenses.
agpl3
Package agpl3 provides functions to print information of GNU Affero General Public License Version 3.
Package agpl3 provides functions to print information of GNU Affero General Public License Version 3.
Package encoding provides encoding and decoding functions.
Package encoding provides encoding and decoding functions.
hex
Package hex provides hexadecimal encoding and decoding functions.
Package hex provides hexadecimal encoding and decoding functions.
varnum
Package varnum provides variable-length encoding for numbers (including integers and floating-point numbers).
Package varnum provides variable-length encoding for numbers (including integers and floating-point numbers).
varnum/uintconv
Package uintconv provides one-to-one mappings between unsigned integers and signed integers or floating-point numbers, so that the encoding and decoding functions for unsigned integers can be applied to signed integers and floating-point numbers.
Package uintconv provides one-to-one mappings between unsigned integers and signed integers or floating-point numbers, so that the encoding and decoding functions for unsigned integers can be applied to signed integers and floating-point numbers.
varnum/vlq
Package vlq provides variable-length encoding for numbers (including integers and floating-point numbers) based on the variable-length quantity (VLQ), with additional offsets to eliminate redundancy.
Package vlq provides variable-length encoding for numbers (including integers and floating-point numbers) based on the variable-length quantity (VLQ), with additional offsets to eliminate redundancy.
Package errors provides functions to handle errors.
Package errors provides functions to handle errors.
Package filesys provides functions to operate general files and filesystems.
Package filesys provides functions to operate general files and filesystems.
local
Package local provides functions to operate local files and local filesystems.
Package local provides functions to operate local files and local filesystems.
Package fmtcoll provides functions to format collections (such as slices and maps) into strings.
Package fmtcoll provides functions to format collections (such as slices and maps) into strings.
Package function provides basic and general-purpose functions.
Package function provides basic and general-purpose functions.
compare
Package compare provides functions for comparison.
Package compare provides functions for comparison.
Package inout provides interfaces and functions for I/O.
Package inout provides interfaces and functions for I/O.
Package randbytes provides interfaces and functions to generate random bytes.
Package randbytes provides interfaces and functions to generate random bytes.
Package runtime provides functions that interact with Go's runtime system, based on the standard package runtime.
Package runtime provides functions that interact with Go's runtime system, based on the standard package runtime.
Package timestamp provides some timestamp types.
Package timestamp provides some timestamp types.

Jump to

Keyboard shortcuts

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