A personal repository to track my daily progress while learning Go programming language. This repository is organized by topics with each folder containing code examples, notes, and exercises.
This repository follows a topic-based folder structure where each folder represents a specific Go concept or topic:
Go-Learning/
├── 01-basics/                   # Go fundamentals (variables, types, operators)
├── 02-control-flow/             # If-else, switch, loops
├── 03-functions/                # Functions, methods, defer
├── 04-data-structures/          # Arrays, slices, maps, structs
├── 05-pointers/                 # Pointers and memory management
├── 06-interfaces/               # Interfaces and polymorphism
├── 07-concurrency/              # Goroutines and channels
├── 08-error-handling/           # Error handling patterns
├── 09-packages-and-modules/     # Package management and modules
├── 10-testing-and-benchmarking/ # Unit testing and benchmarking
├── 11-file-io/                  # File operations and I/O
├── 12-web-development/          # HTTP servers and web frameworks
├── 13-database-operations/      # Database operations
├── 14-telegram-bots/            # Telegram bot development
├── 15-tips-and-best-practices/  # Tips and best practices for Go development
└── 16-experiments-and-tests/    # Tests and experiments with Go features
- Each topic folder contains:
- README.md- Topic overview and learning notes
- Code examples demonstrating the concept
- Exercises and practice problems
- Links to relevant resources
 
Progress is tracked through GitHub Issues. Each topic has a corresponding issue that tracks:
- Learning objectives
- Daily progress updates
- Challenges encountered
- Resources used
- Code examples completed
Workflow Note:
For the workflow to work correctly, please add thedaily-topiclabel to issue label titles.
New to this repository? Check out the Quick Start Guide for step-by-step instructions to begin your learning journey!
Already familiar? To run any Go program in this repository:
# Navigate to the topic folder
cd 01-basics
# Run a Go file
go run filename.go
# Build an executable
go build filename.goFor detailed guidance on using this repository effectively, see LEARNING_GUIDE.md.
- Repository Setup
- Go Basics
- Control Flow
- Functions
- Data Structures
- Pointers
- Interfaces
- Concurrency
- Error Handling
- Packages & Modules
- Testing
- File I/O
- Web Development
- Database Operations
- Telegram Bots
Check the Issues section for daily learning logs and progress updates on each topic.