ProgramGuru

Go Programming

Learn Go. Build programs that make sense.

Start with small Go programs, build tested applications, then explore concurrency, web services and production projects.

Choose your starting point

New to Go Programming? Start with Foundations. You can switch anytime.

Foundations

No account or installation needed. Your progress stays on this device.

Mallikarjuna Mallisetty, author
About the author

Mallikarjuna Mallisetty

General programming

Mallikarjuna shares practical programming tutorials and foundational concepts designed to help developers learn by building and experimenting.

View LinkedIn profile ↗

Your learning path

All lessons

258 lessons558 runnable Go examples258 quiz questions

Your progress is saved on this device.

Estimated time includes reading, exploring code and answering quizzes. Learn at your own pace.

Getting Started with Go

10 lessons · 59 min
  1. Introduction to Go Programming2runnable Go examples1quiz questions6minutes estimated learning time
  2. Features of Go2runnable Go examples1quiz questions6minutes estimated learning time
  3. Installing Go3runnable Go examples1quiz questions6minutes estimated learning time
  4. Setting Up Go Development Environment3runnable Go examples1quiz questions6minutes estimated learning time
  5. Your First Go Program2runnable Go examples1quiz questions5minutes estimated learning time
  6. Structure of a Go Program2runnable Go examples1quiz questions5minutes estimated learning time
  7. Running Go Programs3runnable Go examples1quiz questions6minutes estimated learning time
  8. Building Go Programs3runnable Go examples1quiz questions7minutes estimated learning time
  9. Playground2runnable Go examples1quiz questions5minutes estimated learning time
  10. Introduction to Go Modules3runnable Go examples1quiz questions7minutes estimated learning time

Go Basics

11 lessons · 55 min
  1. Syntax2runnable Go examples1quiz questions5minutes estimated learning time
  2. Comments2runnable Go examples1quiz questions5minutes estimated learning time
  3. Variables2runnable Go examples1quiz questions5minutes estimated learning time
  4. Short Variable Declaration2runnable Go examples1quiz questions5minutes estimated learning time
  5. Constants2runnable Go examples1quiz questions5minutes estimated learning time
  6. Data Types2runnable Go examples1quiz questions5minutes estimated learning time
  7. Zero Values2runnable Go examples1quiz questions5minutes estimated learning time
  8. Type Inference2runnable Go examples1quiz questions5minutes estimated learning time
  9. Type Conversion2runnable Go examples1quiz questions5minutes estimated learning time
  10. Input and Output2runnable Go examples1quiz questions5minutes estimated learning time
  11. Operators2runnable Go examples1quiz questions5minutes estimated learning time

Control Flow in Go

12 lessons · 61 min
  1. if Statement2runnable Go examples1quiz questions5minutes estimated learning time
  2. if...else Statement2runnable Go examples1quiz questions5minutes estimated learning time
  3. else if Statement2runnable Go examples1quiz questions5minutes estimated learning time
  4. Nested if Statements2runnable Go examples1quiz questions5minutes estimated learning time
  5. switch Statement2runnable Go examples1quiz questions5minutes estimated learning time
  6. for Loop2runnable Go examples1quiz questions5minutes estimated learning time
  7. While-Style Loops2runnable Go examples1quiz questions5minutes estimated learning time
  8. Nested Loops2runnable Go examples1quiz questions5minutes estimated learning time
  9. range2runnable Go examples1quiz questions5minutes estimated learning time
  10. break Statement2runnable Go examples1quiz questions5minutes estimated learning time
  11. continue Statement2runnable Go examples1quiz questions5minutes estimated learning time
  12. Variable Scope2runnable Go examples1quiz questions6minutes estimated learning time

Functions in Go

11 lessons · 58 min
  1. Introduction to Go Functions2runnable Go examples1quiz questions6minutes estimated learning time
  2. Function Parameters2runnable Go examples1quiz questions5minutes estimated learning time
  3. Function Return Values2runnable Go examples1quiz questions6minutes estimated learning time
  4. Multiple Return Values2runnable Go examples1quiz questions5minutes estimated learning time
  5. Named Return Values2runnable Go examples1quiz questions5minutes estimated learning time
  6. Variadic Functions2runnable Go examples1quiz questions5minutes estimated learning time
  7. Anonymous Functions2runnable Go examples1quiz questions5minutes estimated learning time
  8. Closures2runnable Go examples1quiz questions5minutes estimated learning time
  9. Recursive Functions2runnable Go examples1quiz questions6minutes estimated learning time
  10. Functions as Values2runnable Go examples1quiz questions5minutes estimated learning time
  11. Defer Statement2runnable Go examples1quiz questions5minutes estimated learning time

Arrays and Slices

13 lessons · 71 min
  1. Arrays2runnable Go examples1quiz questions5minutes estimated learning time
  2. Accessing Array Elements2runnable Go examples1quiz questions5minutes estimated learning time
  3. Updating Array Elements2runnable Go examples1quiz questions6minutes estimated learning time
  4. Multidimensional Arrays2runnable Go examples1quiz questions5minutes estimated learning time
  5. Iterating Over Arrays2runnable Go examples1quiz questions6minutes estimated learning time
  6. Introduction to Slices2runnable Go examples1quiz questions6minutes estimated learning time
  7. Creating Slices2runnable Go examples1quiz questions5minutes estimated learning time
  8. Slice Length and Capacity2runnable Go examples1quiz questions6minutes estimated learning time
  9. The append() Function2runnable Go examples1quiz questions5minutes estimated learning time
  10. Copying Slices2runnable Go examples1quiz questions5minutes estimated learning time
  11. Slicing Operations2runnable Go examples1quiz questions5minutes estimated learning time
  12. How Slices Work Internally2runnable Go examples1quiz questions6minutes estimated learning time
  13. Multidimensional Slices2runnable Go examples1quiz questions6minutes estimated learning time

Strings and Maps

14 lessons · 71 min
  1. Strings2runnable Go examples1quiz questions5minutes estimated learning time
  2. String Operations2runnable Go examples1quiz questions5minutes estimated learning time
  3. String Length and Indexing2runnable Go examples1quiz questions5minutes estimated learning time
  4. String Comparison2runnable Go examples1quiz questions5minutes estimated learning time
  5. String Concatenation2runnable Go examples1quiz questions5minutes estimated learning time
  6. Bytes and Runes2runnable Go examples1quiz questions5minutes estimated learning time
  7. Unicode and UTF-8 in Go2runnable Go examples1quiz questions6minutes estimated learning time
  8. String Conversion2runnable Go examples1quiz questions5minutes estimated learning time
  9. Maps2runnable Go examples1quiz questions5minutes estimated learning time
  10. Creating Maps2runnable Go examples1quiz questions5minutes estimated learning time
  11. Accessing and Updating Maps2runnable Go examples1quiz questions5minutes estimated learning time
  12. Deleting Map Elements2runnable Go examples1quiz questions5minutes estimated learning time
  13. Iterating Over Maps2runnable Go examples1quiz questions5minutes estimated learning time
  14. Maps vs Slices2runnable Go examples1quiz questions5minutes estimated learning time

Pointers and Memory

10 lessons · 53 min
  1. Introduction to Pointers2runnable Go examples1quiz questions6minutes estimated learning time
  2. Pointer Declaration2runnable Go examples1quiz questions5minutes estimated learning time
  3. Address and Dereference Operators2runnable Go examples1quiz questions5minutes estimated learning time
  4. Passing Pointers to Functions2runnable Go examples1quiz questions5minutes estimated learning time
  5. Value vs Reference Semantics2runnable Go examples1quiz questions6minutes estimated learning time
  6. Understanding nil2runnable Go examples1quiz questions5minutes estimated learning time
  7. The new() Function2runnable Go examples1quiz questions5minutes estimated learning time
  8. The make() Function2runnable Go examples1quiz questions5minutes estimated learning time
  9. Understanding Go Memory Management2runnable Go examples1quiz questions6minutes estimated learning time
  10. Garbage Collection in Go2runnable Go examples1quiz questions5minutes estimated learning time

Structs, Methods, and Interfaces

17 lessons · 85 min
  1. Introduction to Structs2runnable Go examples1quiz questions5minutes estimated learning time
  2. Creating Structs2runnable Go examples1quiz questions5minutes estimated learning time
  3. Accessing Struct Fields2runnable Go examples1quiz questions5minutes estimated learning time
  4. Nested Structs2runnable Go examples1quiz questions5minutes estimated learning time
  5. Anonymous Structs2runnable Go examples1quiz questions5minutes estimated learning time
  6. Struct Embedding2runnable Go examples1quiz questions5minutes estimated learning time
  7. Methods in Go2runnable Go examples1quiz questions5minutes estimated learning time
  8. Value Receivers2runnable Go examples1quiz questions5minutes estimated learning time
  9. Pointer Receivers2runnable Go examples1quiz questions5minutes estimated learning time
  10. Introduction to Interfaces2runnable Go examples1quiz questions5minutes estimated learning time
  11. Implementing Interfaces2runnable Go examples1quiz questions5minutes estimated learning time
  12. Empty Interfaces and any2runnable Go examples1quiz questions5minutes estimated learning time
  13. Type Assertions2runnable Go examples1quiz questions5minutes estimated learning time
  14. Type Switches2runnable Go examples1quiz questions5minutes estimated learning time
  15. Interface Composition2runnable Go examples1quiz questions5minutes estimated learning time
  16. Polymorphism in Go2runnable Go examples1quiz questions5minutes estimated learning time
  17. Composition vs Inheritance2runnable Go examples1quiz questions5minutes estimated learning time

Error Handling

11 lessons · 55 min
  1. Introduction to Error Handling2runnable Go examples1quiz questions5minutes estimated learning time
  2. The error Interface2runnable Go examples1quiz questions5minutes estimated learning time
  3. Returning Errors from Functions2runnable Go examples1quiz questions5minutes estimated learning time
  4. Creating Custom Errors2runnable Go examples1quiz questions5minutes estimated learning time
  5. Error Wrapping2runnable Go examples1quiz questions5minutes estimated learning time
  6. errors.Is()2runnable Go examples1quiz questions5minutes estimated learning time
  7. errors.As()2runnable Go examples1quiz questions5minutes estimated learning time
  8. Panic in Go2runnable Go examples1quiz questions5minutes estimated learning time
  9. Recover in Go2runnable Go examples1quiz questions5minutes estimated learning time
  10. Panic vs Error2runnable Go examples1quiz questions5minutes estimated learning time
  11. Error Handling Best Practices2runnable Go examples1quiz questions5minutes estimated learning time

Packages and Modules

12 lessons · 75 min
  1. Introduction to Packages2runnable Go examples1quiz questions5minutes estimated learning time
  2. Creating Custom Packages5runnable Go examples1quiz questions9minutes estimated learning time
  3. Importing Packages2runnable Go examples1quiz questions5minutes estimated learning time
  4. Exported and Unexported Identifiers2runnable Go examples1quiz questions5minutes estimated learning time
  5. Organizing Code Across Files5runnable Go examples1quiz questions9minutes estimated learning time
  6. Introduction to Go Modules3runnable Go examples1quiz questions6minutes estimated learning time
  7. Understanding go.mod3runnable Go examples1quiz questions6minutes estimated learning time
  8. Understanding go.sum2runnable Go examples1quiz questions5minutes estimated learning time
  9. Managing Dependencies3runnable Go examples1quiz questions6minutes estimated learning time
  10. Workspaces4runnable Go examples1quiz questions7minutes estimated learning time
  11. Project Structure3runnable Go examples1quiz questions6minutes estimated learning time
  12. Publishing Go Packages2runnable Go examples1quiz questions6minutes estimated learning time

Go Standard Library

17 lessons · 85 min
  1. The fmt Package2runnable Go examples1quiz questions5minutes estimated learning time
  2. The strings Package2runnable Go examples1quiz questions5minutes estimated learning time
  3. The strconv Package2runnable Go examples1quiz questions5minutes estimated learning time
  4. The math Package2runnable Go examples1quiz questions5minutes estimated learning time
  5. The sort Package2runnable Go examples1quiz questions5minutes estimated learning time
  6. The slices Package2runnable Go examples1quiz questions5minutes estimated learning time
  7. The maps Package2runnable Go examples1quiz questions5minutes estimated learning time
  8. The time Package2runnable Go examples1quiz questions5minutes estimated learning time
  9. The os Package2runnable Go examples1quiz questions5minutes estimated learning time
  10. Reading and Writing Files2runnable Go examples1quiz questions5minutes estimated learning time
  11. The bufio Package2runnable Go examples1quiz questions5minutes estimated learning time
  12. Working with Directories2runnable Go examples1quiz questions5minutes estimated learning time
  13. Command-Line Arguments2runnable Go examples1quiz questions5minutes estimated learning time
  14. Environment Variables2runnable Go examples1quiz questions5minutes estimated learning time
  15. JSON Encoding and Decoding2runnable Go examples1quiz questions5minutes estimated learning time
  16. Regular Expressions2runnable Go examples1quiz questions5minutes estimated learning time
  17. The log Package2runnable Go examples1quiz questions5minutes estimated learning time

Generics and Modern Go

11 lessons · 57 min
  1. Introduction to Generics2runnable Go examples1quiz questions5minutes estimated learning time
  2. Generic Functions2runnable Go examples1quiz questions5minutes estimated learning time
  3. Type Parameters2runnable Go examples1quiz questions5minutes estimated learning time
  4. Type Constraints2runnable Go examples1quiz questions5minutes estimated learning time
  5. Generic Types2runnable Go examples1quiz questions5minutes estimated learning time
  6. Generic Structs2runnable Go examples1quiz questions5minutes estimated learning time
  7. The comparable Constraint2runnable Go examples1quiz questions5minutes estimated learning time
  8. Generic Methods3runnable Go examples1quiz questions7minutes estimated learning time
  9. Introduction to Iterators2runnable Go examples1quiz questions5minutes estimated learning time
  10. Range-Over-Function2runnable Go examples1quiz questions5minutes estimated learning time
  11. Working with Modern Go Collections2runnable Go examples1quiz questions5minutes estimated learning time

Concurrency in Go

24 lessons · 120 min
  1. Introduction to Concurrency2runnable Go examples1quiz questions5minutes estimated learning time
  2. Concurrency vs Parallelism2runnable Go examples1quiz questions5minutes estimated learning time
  3. Introduction to Goroutines2runnable Go examples1quiz questions5minutes estimated learning time
  4. Creating Goroutines2runnable Go examples1quiz questions5minutes estimated learning time
  5. Goroutine Lifecycle2runnable Go examples1quiz questions5minutes estimated learning time
  6. sync.WaitGroup2runnable Go examples1quiz questions5minutes estimated learning time
  7. Introduction to Channels2runnable Go examples1quiz questions5minutes estimated learning time
  8. Unbuffered Channels2runnable Go examples1quiz questions5minutes estimated learning time
  9. Buffered Channels2runnable Go examples1quiz questions5minutes estimated learning time
  10. Sending and Receiving Data2runnable Go examples1quiz questions5minutes estimated learning time
  11. Closing Channels2runnable Go examples1quiz questions5minutes estimated learning time
  12. The select Statement2runnable Go examples1quiz questions5minutes estimated learning time
  13. Channel Timeouts2runnable Go examples1quiz questions5minutes estimated learning time
  14. Context in Go2runnable Go examples1quiz questions5minutes estimated learning time
  15. Context Cancellation2runnable Go examples1quiz questions5minutes estimated learning time
  16. Mutexes2runnable Go examples1quiz questions5minutes estimated learning time
  17. Read-Write Mutexes2runnable Go examples1quiz questions5minutes estimated learning time
  18. Race Conditions2runnable Go examples1quiz questions5minutes estimated learning time
  19. Race Detection2runnable Go examples1quiz questions5minutes estimated learning time
  20. Worker Pools2runnable Go examples1quiz questions5minutes estimated learning time
  21. Atomic Operations2runnable Go examples1quiz questions5minutes estimated learning time
  22. Channels vs Mutexes2runnable Go examples1quiz questions5minutes estimated learning time
  23. Goroutine Leaks2runnable Go examples1quiz questions5minutes estimated learning time
  24. Concurrency Best Practices2runnable Go examples1quiz questions5minutes estimated learning time

Testing and Performance

15 lessons · 83 min
  1. Introduction to Go Testing3runnable Go examples1quiz questions6minutes estimated learning time
  2. Writing Unit Tests3runnable Go examples1quiz questions6minutes estimated learning time
  3. Table-Driven Tests3runnable Go examples1quiz questions6minutes estimated learning time
  4. Subtests3runnable Go examples1quiz questions6minutes estimated learning time
  5. Test Helpers3runnable Go examples1quiz questions6minutes estimated learning time
  6. Test Coverage2runnable Go examples1quiz questions5minutes estimated learning time
  7. Benchmarking Go Programs3runnable Go examples1quiz questions6minutes estimated learning time
  8. Debugging Go Programs2runnable Go examples1quiz questions5minutes estimated learning time
  9. CPU Profiling2runnable Go examples1quiz questions5minutes estimated learning time
  10. Memory Profiling2runnable Go examples1quiz questions5minutes estimated learning time
  11. Fuzz Testing3runnable Go examples1quiz questions6minutes estimated learning time
  12. Testing Concurrent Programs3runnable Go examples1quiz questions6minutes estimated learning time
  13. Code Formatting with gofmt2runnable Go examples1quiz questions5minutes estimated learning time
  14. Static Analysis with go vet2runnable Go examples1quiz questions5minutes estimated learning time
  15. Performance Optimization2runnable Go examples1quiz questions5minutes estimated learning time

Web Development and Databases

22 lessons · 120 min
  1. Introduction to Web Development in Go2runnable Go examples1quiz questions5minutes estimated learning time
  2. HTTP Fundamentals2runnable Go examples1quiz questions5minutes estimated learning time
  3. Creating an HTTP Server3runnable Go examples1quiz questions6minutes estimated learning time
  4. HTTP Handlers2runnable Go examples1quiz questions5minutes estimated learning time
  5. Routing HTTP Requests2runnable Go examples1quiz questions5minutes estimated learning time
  6. Working with Query Parameters2runnable Go examples1quiz questions5minutes estimated learning time
  7. Handling Request Bodies2runnable Go examples1quiz questions5minutes estimated learning time
  8. Sending HTTP Responses2runnable Go examples1quiz questions5minutes estimated learning time
  9. JSON APIs in Go2runnable Go examples1quiz questions5minutes estimated learning time
  10. Building REST APIs2runnable Go examples1quiz questions5minutes estimated learning time
  11. Middleware in Go2runnable Go examples1quiz questions5minutes estimated learning time
  12. HTTP Client in Go2runnable Go examples1quiz questions5minutes estimated learning time
  13. HTTP Error Handling2runnable Go examples1quiz questions5minutes estimated learning time
  14. Testing HTTP Handlers3runnable Go examples1quiz questions6minutes estimated learning time
  15. Introduction to Database Programming2runnable Go examples1quiz questions5minutes estimated learning time
  16. Connecting to SQL Databases3runnable Go examples1quiz questions7minutes estimated learning time
  17. Executing SQL Queries3runnable Go examples1quiz questions6minutes estimated learning time
  18. CRUD Operations3runnable Go examples1quiz questions6minutes estimated learning time
  19. Prepared Statements3runnable Go examples1quiz questions6minutes estimated learning time
  20. Database Transactions3runnable Go examples1quiz questions6minutes estimated learning time
  21. Connection Pooling2runnable Go examples1quiz questions5minutes estimated learning time
  22. Building a Database-Backed REST API3runnable Go examples1quiz questions7minutes estimated learning time

Advanced Go and Production Development

18 lessons · 97 min
  1. Application Architecture2runnable Go examples1quiz questions5minutes estimated learning time
  2. Organizing Large Go Projects3runnable Go examples1quiz questions6minutes estimated learning time
  3. Dependency Injection in Go2runnable Go examples1quiz questions5minutes estimated learning time
  4. Configuration Management3runnable Go examples1quiz questions6minutes estimated learning time
  5. Structured Logging2runnable Go examples1quiz questions5minutes estimated learning time
  6. Input Validation2runnable Go examples1quiz questions5minutes estimated learning time
  7. Authentication and Authorization2runnable Go examples1quiz questions5minutes estimated learning time
  8. Secure Go Programming2runnable Go examples1quiz questions5minutes estimated learning time
  9. Context and Request Lifecycle Management2runnable Go examples1quiz questions5minutes estimated learning time
  10. Graceful Shutdown2runnable Go examples1quiz questions5minutes estimated learning time
  11. Performance and Memory Optimization2runnable Go examples1quiz questions5minutes estimated learning time
  12. Cross-Compilation2runnable Go examples1quiz questions5minutes estimated learning time
  13. Build Tags4runnable Go examples1quiz questions7minutes estimated learning time
  14. Embedding Files in Go Binaries3runnable Go examples1quiz questions6minutes estimated learning time
  15. Dockerizing Go Applications3runnable Go examples1quiz questions7minutes estimated learning time
  16. Deploying Go Applications2runnable Go examples1quiz questions5minutes estimated learning time
  17. Monitoring and Observability2runnable Go examples1quiz questions5minutes estimated learning time
  18. Best Practices2runnable Go examples1quiz questions5minutes estimated learning time

Go Programming Examples

15 lessons · 75 min
  1. Basic Go Programs2runnable Go examples1quiz questions5minutes estimated learning time
  2. Number Programs2runnable Go examples1quiz questions5minutes estimated learning time
  3. Mathematical Programs2runnable Go examples1quiz questions5minutes estimated learning time
  4. Pattern Programs2runnable Go examples1quiz questions5minutes estimated learning time
  5. Array Programs2runnable Go examples1quiz questions5minutes estimated learning time
  6. Slice Programs2runnable Go examples1quiz questions5minutes estimated learning time
  7. String Programs2runnable Go examples1quiz questions5minutes estimated learning time
  8. Map Programs2runnable Go examples1quiz questions5minutes estimated learning time
  9. Function Programs2runnable Go examples1quiz questions5minutes estimated learning time
  10. Recursion Programs2runnable Go examples1quiz questions5minutes estimated learning time
  11. Pointer Programs2runnable Go examples1quiz questions5minutes estimated learning time
  12. Struct Programs2runnable Go examples1quiz questions5minutes estimated learning time
  13. Interface Programs2runnable Go examples1quiz questions5minutes estimated learning time
  14. File Handling Programs2runnable Go examples1quiz questions5minutes estimated learning time
  15. Concurrency Programs2runnable Go examples1quiz questions5minutes estimated learning time

Go Projects

15 lessons · 79 min
  1. Command-Line Calculator2runnable Go examples1quiz questions5minutes estimated learning time
  2. Number Guessing Game2runnable Go examples1quiz questions5minutes estimated learning time
  3. Student Marks Manager2runnable Go examples1quiz questions5minutes estimated learning time
  4. Contact Management System2runnable Go examples1quiz questions5minutes estimated learning time
  5. File Organizer2runnable Go examples1quiz questions5minutes estimated learning time
  6. JSON-Based Task Manager2runnable Go examples1quiz questions5minutes estimated learning time
  7. Command-Line To-Do Application2runnable Go examples1quiz questions5minutes estimated learning time
  8. Concurrent Website Status Checker2runnable Go examples1quiz questions5minutes estimated learning time
  9. Log File Analyzer2runnable Go examples1quiz questions5minutes estimated learning time
  10. HTTP File Server2runnable Go examples1quiz questions5minutes estimated learning time
  11. URL Shortener2runnable Go examples1quiz questions5minutes estimated learning time
  12. REST API with CRUD Operations2runnable Go examples1quiz questions5minutes estimated learning time
  13. Database-Backed Task Management API4runnable Go examples1quiz questions8minutes estimated learning time
  14. Concurrent File Downloader2runnable Go examples1quiz questions5minutes estimated learning time
  15. Complete Go Web Application2runnable Go examples1quiz questions6minutes estimated learning time