# README
golibs
Go utility packages primarily used in AdGuard projects. See the documentation for individual packages on https://pkg.go.dev/github.com/AdguardTeam/golibs for more information and examples.
# Packages
Package cache provides a simple LRU cache implementation.
Package container provides common container types.
Package contextutil contains types and utilities for working with contexts.
Package errors is a drop-in replacement and extension of the Go standard library's package [errors].
Package hostsfile provides utilities for working with system hosts files.
Package httphdr contains the names of HTTP headers.
Package ioutil contains extensions and utilities for package io from the standard library.
Package log contains necessary logging functions
TODO(a.garipov): Move code using this to log/slog then deprecate and remove this package.
Package logutil contains extensions and utilities for package log from the standard library.
Package mathutil contains generic helpers for common algorithms and mathematic operations.
Package netutil contains common utilities for IP, MAC, and other kinds of network addresses.
Package osutil contains utilities for functions requiring system calls and other OS-specific APIs.
Package otelutil contains common utilities for working with OpenTelemetry.
Package sentryutil contains utilities for functions for working with Sentry.
Package service defines types and interfaces for long-running services that can be started and shut down.
Package stringutil contains utilities for dealing with strings.
Package syncutil contains extensions and utilities for package sync from the standard library.
Package testutil contains utilities for common testing patterns.
Package timeutil contains types and utilities for working with time and duration values.
Package validate contains functions for validating values.