Skip to content

IndrajeethY/Go-Learning

Repository files navigation

Go-Learning

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.

📚 Repository Structure

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

🎯 Learning Approach

  • Each topic folder contains:
    • README.md - Topic overview and learning notes
    • Code examples demonstrating the concept
    • Exercises and practice problems
    • Links to relevant resources

📝 Tracking Progress

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 the daily-topic label to issue label titles.

🚀 Getting Started

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.go

For detailed guidance on using this repository effectively, see LEARNING_GUIDE.md.

📖 Topics Covered

  • 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

🔗 Resources

📅 Daily Updates

Check the Issues section for daily learning logs and progress updates on each topic.

About

My go learning repository template with necessary resources and a decent path to follow for beginners

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages