Interactive Go tutorial CLI inspired by Rustlings 📚
GoForGo helps you learn Go by fixing broken code exercises with real-time feedback. It features 182+ exercises covering Go fundamentals through advanced real-world topics including Kubernetes, big data, DevOps integration, and comprehensive third-party library ecosystem, all with a beautiful terminal interface.
Experience GoForGo's elegant interface: animated splash screen, comprehensive welcome screen, real-time file watching, progressive hints, and smart progress tracking with uniform styling across all pages.
- 🎯 182+ Interactive Exercises - From basics to advanced real-world Go development
- 👁️ Real-time File Watching - Automatic compilation and feedback as you code
- 🎨 Beautiful TUI - Clean terminal interface with progress tracking
- 📚 Progressive Learning - Structured curriculum with difficulty levels
- 💡 Smart Hints - Context-aware hints that adapt to your attempts
- 🧪 Advanced Testing - Universal validation system with container integration
- 🔧 Modern Go - Latest Go 1.24+ features and best practices
- 📦 Complete Ecosystem - Third-party libraries, Kubernetes, big data, DevOps tools
- ☸️ Kubernetes Mastery - client-go, CRDs, controllers, operators
- 🚀 Big Data & DevOps - Kafka, Hadoop, Spark, Elasticsearch integration
This creates:
- exercises/ - 182+ Go exercises organized by topic
- solutions/ - Complete reference solutions
- .goforgo.toml - Your progress and preferences
This launches the interactive mode with:
- ⚡ Real-time file watching and compilation
- 📊 Progress tracking and visual feedback
- ⌨️ Keyboard shortcuts for navigation
- 💡 Progressive hints and guidance
| goforgo | Start interactive watch mode (default) |
| goforgo init | Initialize exercises in current directory |
| goforgo run [exercise] | Run specific exercise or next incomplete |
| goforgo hint [exercise] | Show progressive hints |
| goforgo list [--all] [--category=...] | List exercises with filters |
| goforgo watch | Explicit watch mode with file monitoring |
- Go 1.24+ (required for latest language features)
- Just (recommended) - Install from casey/just
- Git for version information
GoForGo includes 182 exercises across 46 categories:
- 01_basics - Hello world, syntax, comments, program structure (10 exercises)
- 02_variables - Types, declarations, zero values, constants (9 exercises)
- 03_functions - Parameters, returns, methods, closures (12 exercises)
- 04_control_flow - if/else, loops, switch, defer, panic/recover (10 exercises)
- 05_arrays - Fixed-size collections, iteration, sorting (5 exercises)
- 06_slices - Dynamic arrays, capacity, tricks (6 exercises)
- 07_maps - Key-value structures, patterns, performance (5 exercises)
- 08_structs - Custom types, embedding, methods (4 exercises)
- 09_interfaces - Type satisfaction, composition, assertions (4 exercises)
- 10_errors - Error handling patterns, wrapping, custom errors (3 exercises)
- 11_concurrency - Goroutines, channels, context patterns (5 exercises)
- 12_generics - Type parameters, constraints, inference (3 exercises)
- 13_testing - Units, benchmarks, test doubles, fuzzing (5 exercises)
- 14_stdlib - Standard library utilities, time, strings, regex (3 exercises)
- 15_json - Encoding, decoding, streaming, validation (3 exercises)
- 16_http - Servers, clients, middleware patterns (3 exercises)
- 17_files - I/O operations, permissions, file watching (3 exercises)
- 18_regex - Pattern matching, parsing, advanced expressions (3 exercises)
- 19_reflection - Type inspection, dynamic calls, practical applications (3 exercises)
- 20_advanced - Design patterns, context patterns, pipeline patterns (3 exercises)
- 21_crypto - Hashing, encryption, digital signatures (3 exercises)
- 22_net - TCP/UDP servers, HTTP clients, networking (5 exercises)
- 23_encoding - Base64, JSON processing, data encoding (3 exercises)
- 24_io - Buffered I/O, interfaces, streaming patterns (3 exercises)
- 25_paths - File paths, directory operations (3 exercises)
- 26_os - Environment, process management, signals (3 exercises)
- 27_math - Geometry, statistics, number theory (3 exercises)
- 28_sorting - Search algorithms, sorting comparison (3 exercises)
- 29_data_structures - Linked lists, stacks, queues, trees (3 exercises)
- 30_algorithms - Dynamic programming, graph algorithms, pattern matching (3 exercises)
- 31_web - Web servers, middleware patterns, WebSocket (3 exercises)
- 32_microservices - Service discovery, circuit breakers, distributed tracing (3 exercises)
- 33_databases - SQL operations, connection pooling, NoSQL (3 exercises)
- 34_grpc - Service implementation, streaming, interceptors (3 exercises)
- 35_gorilla_mux - HTTP routing, middleware, advanced patterns (3 exercises)
- 36_cobra_cli - CLI applications, commands, flags, subcommands (3 exercises)
- 37_bubbletea_tui - Terminal UI, Model-View-Update, interactive forms (3 exercises)
- 38_advanced_concurrency - golang.org/x/sync primitives, patterns, debugging (3 exercises)
- 39_gorm_database - ORM patterns, associations, migrations (3 exercises)
- 40_gin_web - Web framework, routing, middleware, JSON binding (3 exercises)
- 41_logrus_logging - Structured logging, levels, custom formatters (3 exercises)
- 42_kafka - Message production, consumer groups, stream processing (3 exercises)
- 43_kubernetes - client-go, CRDs, controllers, operators, automation (5 exercises)
- 44_hadoop - HDFS operations, MapReduce patterns, YARN (3 exercises)
- 45_spark - DataFrames, streaming, distributed computing (3 exercises)
- 46_elasticsearch - Indexing, searching, aggregations (3 exercises)
- 🌱 Beginner (1-76): Core Go fundamentals - syntax, variables, functions, control flow
- 🌿 Intermediate (77-144): Advanced features - testing, HTTP, I/O, networking, algorithms
- 🌳 Advanced (145-153): Real-world patterns - microservices, databases, gRPC
- 🚀 Expert (154-182): Third-party ecosystem - frameworks, Kubernetes, big data, DevOps
Each exercise includes:
- 📝 Clear learning objectives
- ⭐ Difficulty rating (1-5 stars)
- ⏱️ Estimated completion time
- 💡 Progressive hints (3 levels)
- ✅ Automatic validation
We welcome contributions! See our contribution guidelines for:
- 🐛 Bug Reports - Found an issue? Let us know!
- ✨ Feature Requests - Ideas for improvements
- 📚 Exercise Contributions - Add new exercises
- 🔧 Code Improvements - Performance, usability, tests
- 📋 TODO.md - Development roadmap and tasks
- 🎯 GAMEPLAN.md - Project architecture and phases
- 🧠 CLAUDE.md - Development insights and learnings
- 📚 docs/ - Additional documentation
- Rustlings - Original inspiration for interactive learning
- Go Team - Amazing language and tooling
- Charm - Beautiful TUI libraries (Bubble Tea, Lip Gloss)
- Community - All the Go learning resources and examples
MIT License - see LICENSE file for details.
Happy Learning! 🎉
Start your Go journey today with goforgo init
.png)



