Introduction โ
๐ง What is Gouse? โ
- Gouse is a modern essentials
Golang
utility package delivering consistency, modularity, performance, and extras presets. - Built on top of Go language, and others Go open-source packages.
- Inspired by
Lodash
soJavascript
user-friendly syntax. - Lightweight package: easy to use, chainable, extendable, available.
- Gouse provides a wide variety of available methods, taking the hassle out of working with any type requests. So you can pick the one of them that fit your project demands.
- Powerful package of built-in functions provide comprehensive, and reliable solutions for any project size and compatible with all OS platforms.
- Open-source, free to use, and contribute.
- Offering over 400 utility functions across more than 25 domains. It serves as a toolkit for Go developers, providing ready-to-use solutions for common programming needs.
โจ Motivation โ
- Go has emerged as a server language, but it still doesn't have complete and consistent packages available to support coding development.
- Developers must write by hand or search manually. That wastes time and even causes many compatibility conflicts.
- Must update each dependent package every time when project update.
- Unexpected errors can easily arise during execution.
- Performance is not optimized.
- The number of lines of code is very long that not easy to read and understand.
- Code logic may not be consistent, making it difficult to maintain and scale.
- Hard to make sure the programs are executed the same across all environments.
- Lack of coherent learning materials and examples.
- And more...
๐ To address that need, Gouse was created as a powerful presets toolkit for Go developers, a collection of built-in functions and best practices that provide comprehensive, powerful, and reliable solutions. Trusted to build services, software platforms, APIs, and web applications.
๐ฏ Why to use โ
Thanks to Gouse, you can:
- Set up and scale projects rapidly.
- No config - import directly as utility functions.
- Handle complex logic use-cases such as database connection, build APIs, error handling, log management...
- Optimize performance and increase productivity.
- Build easily consistent systems with available functions.
- Avoid writing repetitive code and a unified code style.
- Reduce the number of lines of code and make it easier to read, understand, and maintain.
- Avoid compatibility conflicts and unexpected errors.
- Works smoothly in any environment and platform.
- Easy to learn and use, suitable for beginners and experts.
- Compatible with all frameworks and libraries.
- Referencing examples with comprehensive documentation
- And more...
๐๏ธ Key Philosophy โ
Gouse is built with several core design principles in mind:
- User-Friendly & Lightweight: Gouse features an intuitive JavaScript syntax with no setup required. Import utility functions directly and enjoy a flexible, chainable package available in various builds and formats.
- Powerful & Versatile: Access a wide range of methods for arrays, numbers, objects, and strings. Comprehensive documentation and examples make implementation smooth and efficient.
- Scalable & Efficient: Ideal for projects of any size, Gouse supports rapid setup, complex logic handling, and performance optimization across all operating systems.
- Consistent & Maintainable: Reduce repetitive code and ensure a unified style. Gouse makes your code cleaner, easier to maintain, and minimizes compatibility issues or unexpected errors.
The library follows a modular architecture where related functions are grouped together, making it easy to find and use specific utilities while maintaining a coherent API surface.
๐พ Usage Flow โ
๐ Core functionality โ
Gouse organizes its functionality into logical groupings of related utilities:
Category | Description | Example Functions |
---|---|---|
Array Operations | Functions for working with arrays and slices | MinArr , MaxArr , Intersect |
String Manipulation | String processing and formatting utilities | Capitalize , CamelCase , StringSplit |
Type System | Type checking, validation and conversion | TypeCheck , TypeCastToString |
Time Operations | Time retrieval, formatting, and manipulation | Second , Minute , Hour , SleepS |
API Utilities | Helpers for building APIs | Validate , UploadSingle , NewPagination |
OS & I/O | System information and file operations | OsIO , OsDisk , IoCheckFile |
Function Utilities | Function manipulation and control utilities | FunctionDelay , FunctionRetry , FunctionParallel |
Database Connections | Database connection utilities | ConnectRedis , ConnectPostgres , ConnectMongo |
Chart Generation | Visualization utilities | ChartBar , ChartLine , ChartPie |
Console Utilities | Terminal and command line utilities | ConsoleCmd , ConsoleBanner , ConsoleTable |
Below is a list of modules that Gouse supports. This project is still in development stage, so some features may be unavailable.