# README
Portable Abstractions and Patterns for Golang
This module is a part of the Pip.Services polyglot microservices toolkit. It provides a set of basic patterns used in microservices or backend services. Also the module implemenets a reasonably thin abstraction layer over most fundamental functions across all languages supported by the toolkit to facilitate symmetric implementation.
The module contains the following packages:
- Convert - portable value converters
- Data - data patterns
- Errors- application errors
- Reflect - portable reflection utilities
- Configuration
- Locator Pattern
- Component Lifecycle
- Data Patterns
- API Reference
- Change Log
- Get Help
- Contribute
Use
Get the package from the Github repository:
go get -u github.com/pip-services4/pip-services4-go/pip-services4-commons-go@latest
Develop
For development you shall install the following prerequisites:
- Golang v1.20+
- Visual Studio Code or another IDE of your choice
- Docker
- Git
Run automated tests:
go test -v ./test/...
``
Generate API documentation:
```bash
./docgen.ps1
Before committing changes run dockerized test as:
./test.ps1
./clear.ps1
Contacts
The library is created and maintained by Sergey Seroukhov.
The documentation is written by Danyil Tretiakov and Levichev Dmitry.