Search and navigate

Pages

Start HereRoadmapTutorialsCheatsheetInterview QuestionsResources

Published tutorials

Building a REST API with Go: The Complete TutorialGeneric Functions in Go: Writing Reusable CodeGo Benchmarking: Measuring Performance with testing.BGo Channels: Communication Between GoroutinesGo Constraints: comparable, Ordered and Custom SetsGo Context: Cancellation, Deadlines, and Request ValuesGo HTTP Client: Timeouts, JSON, and Reliable RequestsGo HTTP Middleware: Build a Production ChainGo Interview Questions: 25 Answers That Show UnderstandingGo Mutex: Protecting Shared State from Race ConditionsGo net/http: Build an HTTP Server from ScratchGo select Statement: Multiplexing Channels ExplainedGo Tools You Need for a Reliable Development LoopGo Tutorial: From First Program to Backend FoundationsGo Type Parameters: Syntax and Constraints ExplainedGo Worker Pool Pattern: Bounded Concurrency at ScaleGo's Type System Deep Dive: Static Typing Done RightGolang Compilation and Execution ExplainedGolang File Structure for Modules and ApplicationsGolang Hello World and Your First Go ProgramGolang IDEs: Choose an Editor for Your WorkflowGolang Interfaces: What They Are and How to Use ThemGoroutine Leaks in Go: How to Detect and Prevent ThemGoroutines in Go: Concurrency Without LeaksHow to Download and Install Golang SafelyHow to Learn Golang with a Focused Study PlanIntegration Testing in Go: Testing Real BoundariesJSON in Go: Encoding, Decoding, and ValidationLearn Golang with a Practical Beginner CourseMocking in Go: Test Doubles Without Magicsync.WaitGroup in Go: Coordinating Multiple GoroutinesTable-Driven Tests in Go: The Idiomatic WayTesting in Go: Table Tests, HTTP, Fakes, and CoverageWhat Is Go and How Does a Go Program Work?Why Learn Golang and What Is Go Used For?Writing Unit Tests in Go: A Practical Guide
Open full search and filters →
foundation branch

Go fundamentals

Language foundations, tools, types, errors, interfaces, packages, and everyday Go design.

Start with the main topic · View all branches

Lesson 1 · Tutorial · Go 1.22+

Golang Hello World and Your First Go Program

Build a Golang Hello World program, understand package main and func main, accept an argument, then run and compile it with Go 1.24.7.

Read tutorial
Lesson 2 · Tutorial · Go 1.18+ (all examples tested on Go 1.24)

Golang Interfaces: What They Are and How to Use Them

Learn Go interfaces with real examples: implicit satisfaction, the nil interface trap, type switches, io.Reader, and refactoring for testable code.

Read tutorial
Lesson 3 · Tutorial · Go 1.22+

Why Learn Golang and What Is Go Used For?

Why learn Golang? See where Go fits, what teams build with it, its tradeoffs, and a tested concurrency example before choosing it.

Read tutorial
Lesson 4 · Tutorial · Go 1.22+

What Is Go and How Does a Go Program Work?

What is Go? Understand packages, compilation, garbage collection, concurrency, HTTP tooling, tradeoffs, and a tested service handler.

Read tutorial
Lesson 5 · Tutorial · Go 1.22+

How to Download and Install Golang Safely

Download and install Golang on Windows, macOS, or Linux, verify the active toolchain, and avoid PATH and multiple-installation problems.

Read tutorial
Lesson 6 · Tutorial · Go 1.22+

Golang IDEs: Choose an Editor for Your Workflow

Compare Golang IDE workflows and choose an editor by navigation, testing, debugging, remote work, and team needs instead of feature counts.

Read tutorial
Lesson 7 · Tutorial · Go 1.22+

Golang File Structure for Modules and Applications

Learn a practical Golang file structure that starts small, separates commands from domain packages, and uses internal boundaries only when useful.

Read tutorial
Lesson 8 · Tutorial · Go 1.22+

Golang Compilation and Execution Explained

Understand Golang compilation and execution with go run, go build, and go install, then produce and verify a reusable application binary.

Read tutorial
Lesson 9 · Tutorial · Go 1.22+

Go Tools You Need for a Reliable Development Loop

Use essential Go tools to format, test, inspect, and build code with a repeatable local workflow that catches problems before review.

Read tutorial
Lesson 10 · Tutorial · Go 1.22+

How to Learn Golang with a Focused Study Plan

Learn Golang with a focused eight-week study plan built around tested programs, deliberate practice, projects, and production skills.

Read tutorial
Lesson 11 · Tutorial · Go 1.22+

Learn Golang with a Practical Beginner Course

Learn Golang through a practical course that moves from syntax to tested programs, modules, errors, concurrency, HTTP, and a final service.

Read tutorial
Lesson 12 · Tutorial · Go 1.18+ (all examples tested on Go 1.24.7)

Go's Type System Deep Dive: Static Typing Done Right

A tested tour of the Golang type system: named types vs aliases, assignability, comparability, untyped constants, and making illegal states unrepresentable.

Read tutorial
Lesson 14 · Tutorial · Go 1.22+

Go Interview Questions: 25 Answers That Show Understanding

Prepare for Go interviews with concise answers about slices, interfaces, errors, concurrency, context, HTTP, testing, and performance.

Read tutorial
Lesson 15 · Main topic · Go 1.22+

Go Tutorial: From First Program to Backend Foundations

Learn Go fundamentals through a practical path covering setup, types, functions, structs, errors, concurrency, testing, and HTTP.

Read tutorial