Beginner

Go Modules: Dependency Management

Master Go modules for managing dependencies, versioning, and maintaining reproducible builds. Learn go.mod, go.sum, and best practices for dependency management.

Go Naming Conventions and Code Style

Master Go naming conventions and code style guidelines. Learn idiomatic Go naming for packages, functions, variables, and best practices for consistent code.

IDE Setup: VS Code for Go

Complete guide to setting up Visual Studio Code for Go development. Learn extensions, configurations, debugging, and productivity tips for VS Code.

Setting Up Your Go Workspace

Complete guide to setting up a productive Go development workspace, including directory structure, project organization, and best practices for Go projects.

Constants and Enumerations in Go

Master Go constants and enumerations — const declarations, untyped vs typed constants, iota patterns for enums and bit flags, String() methods, and why typed enums prevent bugs …

Debugging Go Programs

Master debugging Go programs using Delve debugger, print debugging, and profiling tools. Learn effective debugging techniques and best practices.

Go Toolchain: build, run, test, fmt

Master the Go toolchain commands: build, run, test, fmt, and more. Learn how to compile, execute, test, and format Go programs efficiently.

Go Type System: Basics and Type Inference

Master Go's type system — basic numeric and string types, type inference with :=, explicit type declarations for domain modeling, type aliases vs new types, zero values, and …

Conditional Statements in Go

Master Go conditional statements — if/else with initialization clause, switch without expression, type switches, guard clauses over deep nesting, and the idiomatic Go patterns for …

Error Handling in Go

Master error handling in Go — the error interface, custom error types, wrapping with %w, errors.Is and errors.As, sentinel errors, and production patterns for clear, recoverable …

Go Arrays: Fixed-Size Collections

Master Go arrays — fixed-size declaration, the ellipsis syntax, value semantics (arrays are copied), slicing to create slice views, multidimensional arrays, and when arrays are the …

Go Loops: for, range, and Loop Patterns

Master Go's single loop construct — the three-clause for, while-style, infinite loop, range over slices/maps/strings/channels, labeled break/continue for nested loops, and common …

Go Maps: Key-Value Pairs and Patterns

Master Go maps — creation, the comma-ok idiom, iteration order, concurrent access with sync.Map, common patterns like frequency counting and grouping, and avoiding nil map panics.

Go Slices: Dynamic Arrays and Operations

Master Go slices — the three-component header, append growth behavior, the sharing trap with sub-slices, copy for independent copies, three-index slices for capacity control, and …

Go Variables and Data Types Fundamentals

Master Go variables — var declarations, short := syntax, when each form is appropriate, multiple assignment, blank identifier, scope rules, and the constants/iota patterns used …

Multiple Return Values in Go

Master Go's multiple return values — the error pattern, named returns with defer-based wrapping, returning optional values with bool, the comma-ok idiom, and when to use structs …