Categorygithub.com/MKuranowski/go-extra-lib
repository
0.0.0-20240705181849-6e653125f57a
Repository: https://github.com/mkuranowski/go-extra-lib.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

# README

go-extra-lib

go-extra-lib is a package with Go construct commonly used in a lot of my projects. To avoid copy-pasting I have gathered them in a single importable package.

Packages

  • clock: helper interface for providing time.
  • container:
    • bitset: An efficient implementation of a set of unsigned numbers
    • set: An unordered collection of elements (map[T]struct{})
  • encoding:
    • mcsv: CSV, but map[string]string instead of []string
  • io2: Occasionally useful io.Readers
  • iter: Generic iterators and operations on such iterators
  • resource: Working with "files" which may change as the program is running.
  • slices2: Extension to golang.org/x/exp/slices, with more slice tricks.
  • testing2: Various assertions for writing tests, automatically-generated
    • assert: assertions which immediately fail a test
    • check: assertions which allow a test to continue

TODO

  • container/gheap: Generic version of container/heap
  • container/glist: Generic version of container/list
  • container/gring: Generic version of container/ring
  • iter/stream: Java Stream-like wrapper on iterator operations
  • maps2: Extension to golang.org/x/exp/maps, with more operations on maps.
  • matrix: 2D matrices of numbers

License

go-extra-lib is provided under the MIT license, included in the file.