Welcome to my Go learning repository! Here I document and store code examples and notes from what I’ve learned while studying Go. Each folder represents a different topic or concept.
- Dependency Injection: Learn how to use DI in Go for more modular and testable code.
- Concurrency: Examples and concepts on Go's concurrency model using Goroutines and Channels.
- Iterators: How to implement and use iterators in Go for efficient data processing.
- Context: Understand Go's
context
package for managing cancellation, deadlines, and scoped values. - Networking: Learn basic TCP/IP networking, including client-server communication.
- Error Handling: Effective strategies for handling errors in Go, including custom error types.
- Testing: Unit testing, mock testing, and other testing strategies in Go.
- Naming Conventions: Essential naming conventions in Go for writing clean, readable, and maintainable code.
Each folder contains code examples and README.md
files explaining the key concepts. Feel free to clone this repo and explore the code yourself.