| description | project-architecture |
| name | project-architecture |
| user_invocable | false |
Project Architecture
Project Architecture
Package Structure
go-utils is organized into specialized utility packages, each focused on a specific data type:
go-utils/
├── dateutils/ # Time and date manipulation utilities
├── maputils/ # Generic map operations
├── sliceutils/ # Generic slice operations (inspired by JS Array methods)
├── stringutils/ # String manipulation and formatting
├── structutils/ # Struct reflection and conversion utilities
└── urlutils/ # URL and query string utilities
Design Principles
1. Generics-First Approach
All functions leverage Go 1.18+ generics for type safety:
func Filter[T any](slice []T, predicate func(value T, index int, slice []T) bool) []T
func Keys[K comparable, V any](mapInstance [K]V) []K