Skip to content

rTexty/AnyGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnyGo: Golang dojo

Go Version Status

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.

📂 Repository Structure

Here is a breakdown of the learning modules included in this repository:

  • /algo — Algorithmic tasks, data structures, and problem-solving exercises.
  • /errgroup — Experiments with golang.org/x/sync/errgroup for managing multiple goroutines and handling concurrent errors gracefully.
  • /interfaces — Deep dive into Go's interface system, duck typing, and polymorphism.
  • /L1 & /L2 — Tasks from WildberriesTechSchool — Practical, leveled programming tasks and mini-projects.
  • /patternsSync — Exploring Go's sync package (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.

📂 Repository Structure

Here is a breakdown of the learning modules included in this repository:

  • /algo — Algorithmic tasks, data structures, and problem-solving exercises.
  • /errgroup — Experiments with golang.org/x/sync/errgroup for managing multiple goroutines and handling concurrent errors gracefully.
  • /interfaces — Deep dive into Go's interface system, duck typing, and polymorphism.
  • /L1 & /L2 — Tasks from WildberriesTechSchool — Practical, leveled programming tasks and mini-projects.
  • /patternsSync — Exploring Go's sync package (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.

About

My Golang learning journey ( or Road to Middle ): concurrency patterns, algorithms, clean architecture, etc.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages