go

module
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2026 License: MIT

README

Build Status Go Report Card GoDoc

go

go

Go standard library extension, adding the missing parts used in the foomo ecosystem to keep DRY.

Features

  • fmt — Template string formatting with %{.key} syntax
  • net — Free port allocation and TCP connection wait helpers (FreePort, FreePorts, WaitFor, WaitForFreePort)
  • options — Generic functional options pattern (Option, OptionE, Builder, BuilderE)
  • os — Typed Getenv/MustGetenv for scalars, slices, and maps with defaults; path Expand (~/, env vars)
  • runtime — Enriched caller introspection (Caller, CallerFunc, StackTrace) and panic recovery
  • sec — Safe path joining to prevent directory traversal (gosec G304)
  • slices — Generic slice utilities: Filter, Map, GroupBy (with error variants)
  • slog — Test-friendly slog.Handler that writes to testing.TB output
  • strings — Case conversions, padding, validation, prefix/suffix matching, and composition
  • testing — Tag-based test filtering via GO_TEST_TAGS, crypto key helpers, ExampleTB
  • time — Context-aware Sleep and polling WaitFor
  • types — Common interface contracts (Closer, Starter, Stopper, …) with function adapters and As<X> helpers

How to Contribute

Contributions are welcome! Please read the contributing guide.

Contributors

License

Distributed under MIT License, please read the license file for more details.

Made with ♥ foomo by bestbytes

Directories

Path Synopsis
Package fmt provides template-based string formatting utilities extending the standard fmt package.
Package fmt provides template-based string formatting utilities extending the standard fmt package.
internal
Package net provides network utilities extending the standard net package.
Package net provides network utilities extending the standard net package.
Package options provides a set of options for the client.
Package options provides a set of options for the client.
Package runtime provides enriched runtime introspection utilities extending the standard runtime package.
Package runtime provides enriched runtime introspection utilities extending the standard runtime package.
Package sec provides security utilities for safe file path handling and directory traversal prevention.
Package sec provides security utilities for safe file path handling and directory traversal prevention.
Package slices provides generic slice utilities extending the standard slices package.
Package slices provides generic slice utilities extending the standard slices package.
Package slog provides structured logging utilities extending the standard log/slog package.
Package slog provides structured logging utilities extending the standard log/slog package.
Package strings provides utility functions for string manipulation and processing.
Package strings provides utility functions for string manipulation and processing.
tag
Package time provides context-aware time utilities extending the standard time package.
Package time provides context-aware time utilities extending the standard time package.
Package types provides common interface contracts and function adapters used across the foomo ecosystem.
Package types provides common interface contracts and function adapters used across the foomo ecosystem.

Jump to

Keyboard shortcuts

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