Welcome to my Golang training repository! This workspace contains various projects, exercises, and experiments I've built while diving deep into Go.
The goal of this repository is to practice and master core Go concepts, ranging from basic algorithms and interface design to advanced concurrency patterns and clean architecture testing.
Here is a breakdown of the learning modules included in this repository:
/algo— Algorithmic tasks, data structures, and problem-solving exercises./errgroup— Experiments withgolang.org/x/sync/errgroupfor managing multiple goroutines and handling concurrent errors gracefully./interfaces— Deep dive into Go's interface system, duck typing, and polymorphism./L1&/L2— Tasks fromWildberriesTechSchool— Practical, leveled programming tasks and mini-projects./patternsSync— Exploring Go'ssyncpackage (Mutex, WaitGroup, Once, Map) and common synchronization patterns./pipeline— Implementation of the concurrency Pipeline pattern using channels and goroutines./testing— Advanced testing techniques, including:- Dependency Injection (DI) and interface mocking.
- Table-driven unit tests.
- HTTP handler integration testing using
net/http/httptest.
Welcome to my Golang training repository! This workspace contains various projects, exercises, and experiments I've built while diving deep into Go.
The goal of this repository is to practice and master core Go concepts, ranging from basic algorithms and interface design to advanced concurrency patterns and clean architecture testing.
Here is a breakdown of the learning modules included in this repository:
/algo— Algorithmic tasks, data structures, and problem-solving exercises./errgroup— Experiments withgolang.org/x/sync/errgroupfor managing multiple goroutines and handling concurrent errors gracefully./interfaces— Deep dive into Go's interface system, duck typing, and polymorphism./L1&/L2— Tasks fromWildberriesTechSchool— Practical, leveled programming tasks and mini-projects./patternsSync— Exploring Go'ssyncpackage (Mutex, WaitGroup, Once, Map) and common synchronization patterns./pipeline— Implementation of the concurrency Pipeline pattern using channels and goroutines./testing— Advanced testing techniques, including:- Dependency Injection (DI) and interface mocking.
- Table-driven unit tests.
- HTTP handler integration testing using
net/http/httptest.