# README
gotools
Miscellaneous tools for golang applications.
Please refer to each directory for more details or read the documentation at https://pkg.go.dev/github.com/tomcz/gotools.
# Packages
Package env provide functions to populate structs from environment variables
using https://github.com/mitchellh/mapstructure.
Package errgroup provides a panic handling wrapper around [golang.org/x/sync/errgroup]
to avoid application crashes when a goroutine encounters a panic.
Package leader provides a good-enough leader pattern implementation using MySQL as the coordinator.
Package maps provides generic operations on maps, including map-based set operations.
Package maths provides generic arithmetic operations.
Package quiet provides cleanup functions for graceful shutdowns.
Package slices provides generic operations on slices
because we've got better things to do than write for-loops over and over.
Package sqls provides SQL helper functions for queries and transactions to remove common boilerplate code.