<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Golang Tutorial</title><link>https://golangtutorial.com/</link><description>Practical Go backend tutorials.</description><language>en-us</language><lastBuildDate>Mon, 07 Sep 2026 20:38:43 GMT</lastBuildDate><atom:link href="https://golangtutorial.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>Error Handling in Go: Wrapping, Classification, and APIs</title><link>https://golangtutorial.com/golang-error-handling/</link><guid isPermaLink="true">https://golangtutorial.com/golang-error-handling/</guid><description>Handle errors idiomatically in Go with wrapping, errors.Is, errors.As, sentinel errors, typed errors, and API mapping.</description><pubDate>Fri, 04 Sep 2026 22:00:00 GMT</pubDate></item><item><title>Go defer: Cleanup, Ordering, and Common Traps</title><link>https://golangtutorial.com/golang-defer/</link><guid isPermaLink="true">https://golangtutorial.com/golang-defer/</guid><description>Understand Go defer ordering, argument evaluation, named returns, resource cleanup, and loop pitfalls.</description><pubDate>Fri, 04 Sep 2026 21:00:00 GMT</pubDate></item><item><title>Fuzz Testing in Go: Finding Bugs Automatically</title><link>https://golangtutorial.com/golang-fuzz/</link><guid isPermaLink="true">https://golangtutorial.com/golang-fuzz/</guid><description>Learn golang fuzz testing with the native toolchain: write a FuzzXxx target, run go test -fuzz, and watch the engine find a real bug end to end.</description><pubDate>Tue, 01 Sep 2026 22:50:00 GMT</pubDate></item><item><title>Go Concurrency Patterns: A Practical Catalogue</title><link>https://golangtutorial.com/golang-concurrency-patterns/</link><guid isPermaLink="true">https://golangtutorial.com/golang-concurrency-patterns/</guid><description>A tested catalogue of Go concurrency patterns: generator, fan-out, pipeline, worker pool, semaphore, or-done, and graceful shutdown, with use-when notes.</description><pubDate>Tue, 01 Sep 2026 22:45:00 GMT</pubDate></item><item><title>Go Channel Patterns: Advanced Recipes That Work</title><link>https://golangtutorial.com/golang-channel-patterns/</link><guid isPermaLink="true">https://golangtutorial.com/golang-channel-patterns/</guid><description>Advanced Go channel patterns with tested code and real output: or-done, tee, bridge, semaphores, heartbeats, and exactly when to reach for each.</description><pubDate>Tue, 01 Sep 2026 22:40:00 GMT</pubDate></item><item><title>Fan-Out Fan-In in Go: Parallel Work with Channels</title><link>https://golangtutorial.com/golang-fanout-fanin/</link><guid isPermaLink="true">https://golangtutorial.com/golang-fanout-fanin/</guid><description>Learn Go fan-out fan-in with tested code: parallelize work across workers, merge results, restore order, cancel on failure, and carry per-item errors.</description><pubDate>Sat, 29 Aug 2026 16:00:00 GMT</pubDate></item><item><title>Golang Developer Salary 2026: US, UK and Remote</title><link>https://golangtutorial.com/golang-developer-salary/</link><guid isPermaLink="true">https://golangtutorial.com/golang-developer-salary/</guid><description>What a Golang developer salary really looks like in 2026: US, UK, EU and India ranges by seniority, with named sources, dates and frank caveats.</description><pubDate>Sat, 29 Aug 2026 07:00:00 GMT</pubDate></item><item><title>Integration Testing in Go: Testing Real Boundaries</title><link>https://golangtutorial.com/golang-integration-tests/</link><guid isPermaLink="true">https://golangtutorial.com/golang-integration-tests/</guid><description>Write Go integration tests that hit real boundaries: HTTP with httptest, a real Postgres, plus build tags and -short to keep go test ./... fast.</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Mocking in Go: Test Doubles Without Magic</title><link>https://golangtutorial.com/golang-mocking/</link><guid isPermaLink="true">https://golangtutorial.com/golang-mocking/</guid><description>Learn golang mocking the idiomatic way: small interfaces plus hand-written fakes, spies, and httptest, with generated mocks only when they earn it.</description><pubDate>Wed, 26 Aug 2026 20:00:00 GMT</pubDate></item><item><title>Go Benchmarking: Measuring Performance with testing.B</title><link>https://golangtutorial.com/golang-benchmarks/</link><guid isPermaLink="true">https://golangtutorial.com/golang-benchmarks/</guid><description>Learn Go benchmarking with testing.B: read ns/op, B/op and allocs/op, avoid the dead-code trap, use b.Loop, and compare implementations you can trust.</description><pubDate>Tue, 25 Aug 2026 04:00:00 GMT</pubDate></item><item><title>Table-Driven Tests in Go: The Idiomatic Way</title><link>https://golangtutorial.com/golang-table-tests/</link><guid isPermaLink="true">https://golangtutorial.com/golang-table-tests/</guid><description>Golang table driven tests done right: subtests with t.Run, parallel cases, error tables with errors.Is, and golden files, with real tested output.</description><pubDate>Tue, 25 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Writing Unit Tests in Go: A Practical Guide</title><link>https://golangtutorial.com/golang-unit-tests/</link><guid isPermaLink="true">https://golangtutorial.com/golang-unit-tests/</guid><description>Write golang unit tests that catch bugs: test structure, error checks, table cases, fakes, injected clocks, and coverage, with real go test output.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Goroutine Leaks in Go: How to Detect and Prevent Them</title><link>https://golangtutorial.com/goroutine-leaks/</link><guid isPermaLink="true">https://golangtutorial.com/goroutine-leaks/</guid><description>Detect and fix golang goroutine leaks with tested code: runtime.NumGoroutine, the pprof goroutine profile, go test leak checks, and per-cause fixes.</description><pubDate>Mon, 24 Aug 2026 22:00:00 GMT</pubDate></item><item><title>Go Channels: Communication Between Goroutines</title><link>https://golangtutorial.com/golang-channels/</link><guid isPermaLink="true">https://golangtutorial.com/golang-channels/</guid><description>Learn Go channels, buffering, closing, range, ownership, pipelines, and cancellation with practical examples.</description><pubDate>Fri, 21 Aug 2026 16:27:58 GMT</pubDate></item><item><title>Goroutines in Go: Concurrency Without Leaks</title><link>https://golangtutorial.com/goroutines-tutorial/</link><guid isPermaLink="true">https://golangtutorial.com/goroutines-tutorial/</guid><description>Learn how goroutines run, how to wait for them, propagate errors, cancel work, and prevent leaks.</description><pubDate>Thu, 20 Aug 2026 21:48:02 GMT</pubDate></item><item><title>Go Tutorial: From First Program to Backend Foundations</title><link>https://golangtutorial.com/golang-tutorial/</link><guid isPermaLink="true">https://golangtutorial.com/golang-tutorial/</guid><description>Learn Go fundamentals through a practical path covering setup, types, functions, structs, errors, concurrency, testing, and HTTP.</description><pubDate>Thu, 20 Aug 2026 17:03:17 GMT</pubDate></item><item><title>Go Constraints: comparable, Ordered and Custom Sets</title><link>https://golangtutorial.com/golang-constraints/</link><guid isPermaLink="true">https://golangtutorial.com/golang-constraints/</guid><description>Master Go generic constraints: type sets vs method sets, comparable, the ~ token, cmp.Ordered, and writing your own Number constraint. Tested on Go 1.24.</description><pubDate>Mon, 17 Aug 2026 18:07:06 GMT</pubDate></item><item><title>Generic Functions in Go: Writing Reusable Code</title><link>https://golangtutorial.com/golang-generic-functions/</link><guid isPermaLink="true">https://golangtutorial.com/golang-generic-functions/</guid><description>Write golang generic functions the right way: Map, Filter, Reduce, and a drop-in utilities package. Every example tested on Go 1.24 with real output.</description><pubDate>Fri, 14 Aug 2026 00:20:00 GMT</pubDate></item><item><title>Go Type Parameters: Syntax and Constraints Explained</title><link>https://golangtutorial.com/golang-type-parameters/</link><guid isPermaLink="true">https://golangtutorial.com/golang-type-parameters/</guid><description>Learn golang type parameters by example: the [T Constraint] syntax, what each constraint unlocks, type inference, the ~ token, and the method limitation.</description><pubDate>Thu, 13 Aug 2026 22:08:28 GMT</pubDate></item><item><title>Go Interview Questions: 25 Answers That Show Understanding</title><link>https://golangtutorial.com/golang-interview-questions/</link><guid isPermaLink="true">https://golangtutorial.com/golang-interview-questions/</guid><description>Prepare for Go interviews with concise answers about slices, interfaces, errors, concurrency, context, HTTP, testing, and performance.</description><pubDate>Thu, 13 Aug 2026 19:08:06 GMT</pubDate></item><item><title>Go Worker Pool Pattern: Bounded Concurrency at Scale</title><link>https://golangtutorial.com/golang-worker-pool/</link><guid isPermaLink="true">https://golangtutorial.com/golang-worker-pool/</guid><description>Build a Go worker pool with tested code: bounded concurrency, error propagation, context cancellation, correct channel closing, and how to size the pool.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Go select Statement: Multiplexing Channels Explained</title><link>https://golangtutorial.com/golang-select/</link><guid isPermaLink="true">https://golangtutorial.com/golang-select/</guid><description>Learn Go&apos;s select statement with tested code: the random-choice rule, non-blocking default, timeouts, the nil-channel trick, and context cancellation.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate></item><item><title>sync.WaitGroup in Go: Coordinating Multiple Goroutines</title><link>https://golangtutorial.com/golang-waitgroup/</link><guid isPermaLink="true">https://golangtutorial.com/golang-waitgroup/</guid><description>A tested golang waitgroup guide: the Add/Done/Wait counter model, the copy-by-value deadlock, the Add-inside-goroutine race, and Go 1.25&apos;s WaitGroup.Go.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Go Mutex: Protecting Shared State from Race Conditions</title><link>https://golangtutorial.com/golang-mutex/</link><guid isPermaLink="true">https://golangtutorial.com/golang-mutex/</guid><description>A golang mutex tutorial that proves the race first, then teaches Lock/Unlock, RWMutex, the copy bug, atomics, and the frank mutex-vs-channel call.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Go HTTP Client: Timeouts, JSON, and Reliable Requests</title><link>https://golangtutorial.com/golang-http-client/</link><guid isPermaLink="true">https://golangtutorial.com/golang-http-client/</guid><description>Build reliable outbound HTTP requests in Go with client timeouts, context, JSON, status checks, body limits, and transport reuse.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Testing in Go: Table Tests, HTTP, Fakes, and Coverage</title><link>https://golangtutorial.com/golang-testing/</link><guid isPermaLink="true">https://golangtutorial.com/golang-testing/</guid><description>Write effective Go tests with table-driven cases, subtests, httptest, fakes, race detection, benchmarks, and useful coverage.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Building a REST API with Go: The Complete Tutorial</title><link>https://golangtutorial.com/golang-rest-api/</link><guid isPermaLink="true">https://golangtutorial.com/golang-rest-api/</guid><description>Build a production-ready REST API in Go with only the standard library: net/http routing, JSON, middleware, context, graceful shutdown, and tests.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Go HTTP Middleware: Build a Production Chain</title><link>https://golangtutorial.com/golang-middleware/</link><guid isPermaLink="true">https://golangtutorial.com/golang-middleware/</guid><description>Build composable Go HTTP middleware for logging, recovery, request IDs, authentication, and timeouts.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Go net/http: Build an HTTP Server from Scratch</title><link>https://golangtutorial.com/golang-http-server/</link><guid isPermaLink="true">https://golangtutorial.com/golang-http-server/</guid><description>Build a production golang http server with net/http: Go 1.22 routing, PathValue, timeouts, graceful shutdown and static files, every example tested.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Go Context: Cancellation, Deadlines, and Request Values</title><link>https://golangtutorial.com/golang-context/</link><guid isPermaLink="true">https://golangtutorial.com/golang-context/</guid><description>Learn Go context with practical cancellation, timeout, HTTP request, and goroutine examples.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>JSON in Go: Encoding, Decoding, and Validation</title><link>https://golangtutorial.com/golang-json/</link><guid isPermaLink="true">https://golangtutorial.com/golang-json/</guid><description>Encode and decode JSON safely in Go with struct tags, validation, unknown-field checks, and HTTP examples.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Golang Interfaces: What They Are and How to Use Them</title><link>https://golangtutorial.com/golang-interfaces/</link><guid isPermaLink="true">https://golangtutorial.com/golang-interfaces/</guid><description>Learn Go interfaces with real examples: implicit satisfaction, the nil interface trap, type switches, io.Reader, and refactoring for testable code.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Go&apos;s Type System Deep Dive: Static Typing Done Right</title><link>https://golangtutorial.com/golang-type-system/</link><guid isPermaLink="true">https://golangtutorial.com/golang-type-system/</guid><description>A tested tour of the Golang type system: named types vs aliases, assignability, comparability, untyped constants, and making illegal states unrepresentable.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Golang Hello World and Your First Go Program</title><link>https://golangtutorial.com/golang-hello-world-writing-your-first-go-program/</link><guid isPermaLink="true">https://golangtutorial.com/golang-hello-world-writing-your-first-go-program/</guid><description>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.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Golang Compilation and Execution Explained</title><link>https://golangtutorial.com/golang-compilation-and-execution/</link><guid isPermaLink="true">https://golangtutorial.com/golang-compilation-and-execution/</guid><description>Understand Golang compilation and execution with go run, go build, and go install, then produce and verify a reusable application binary.</description><pubDate>Fri, 24 May 2024 00:51:00 GMT</pubDate></item><item><title>Golang File Structure for Modules and Applications</title><link>https://golangtutorial.com/golang-file-structure/</link><guid isPermaLink="true">https://golangtutorial.com/golang-file-structure/</guid><description>Learn a practical Golang file structure that starts small, separates commands from domain packages, and uses internal boundaries only when useful.</description><pubDate>Wed, 22 May 2024 11:27:00 GMT</pubDate></item><item><title>Go Tools You Need for a Reliable Development Loop</title><link>https://golangtutorial.com/go-tools-you-didnt-know-you-needed/</link><guid isPermaLink="true">https://golangtutorial.com/go-tools-you-didnt-know-you-needed/</guid><description>Use essential Go tools to format, test, inspect, and build code with a repeatable local workflow that catches problems before review.</description><pubDate>Tue, 21 May 2024 08:56:08 GMT</pubDate></item><item><title>Golang IDEs: Choose an Editor for Your Workflow</title><link>https://golangtutorial.com/golang-ides-overview/</link><guid isPermaLink="true">https://golangtutorial.com/golang-ides-overview/</guid><description>Compare Golang IDE workflows and choose an editor by navigation, testing, debugging, remote work, and team needs instead of feature counts.</description><pubDate>Mon, 20 May 2024 20:51:00 GMT</pubDate></item><item><title>What Is Go and How Does a Go Program Work?</title><link>https://golangtutorial.com/go-the-language-for-building-fast-reliable-and-efficient-software/</link><guid isPermaLink="true">https://golangtutorial.com/go-the-language-for-building-fast-reliable-and-efficient-software/</guid><description>What is Go? Understand packages, compilation, garbage collection, concurrency, HTTP tooling, tradeoffs, and a tested service handler.</description><pubDate>Mon, 20 May 2024 06:53:31 GMT</pubDate></item><item><title>How to Learn Golang with a Focused Study Plan</title><link>https://golangtutorial.com/how-to-learn-golang-a-study-guide/</link><guid isPermaLink="true">https://golangtutorial.com/how-to-learn-golang-a-study-guide/</guid><description>Learn Golang with a focused eight-week study plan built around tested programs, deliberate practice, projects, and production skills.</description><pubDate>Tue, 08 Jan 2019 21:00:47 GMT</pubDate></item><item><title>How to Download and Install Golang Safely</title><link>https://golangtutorial.com/how-to-download-and-install-golang/</link><guid isPermaLink="true">https://golangtutorial.com/how-to-download-and-install-golang/</guid><description>Download and install Golang on Windows, macOS, or Linux, verify the active toolchain, and avoid PATH and multiple-installation problems.</description><pubDate>Thu, 27 Dec 2018 21:48:31 GMT</pubDate></item><item><title>Why Learn Golang and What Is Go Used For?</title><link>https://golangtutorial.com/why-learn-golang-what-is-golang-used-for/</link><guid isPermaLink="true">https://golangtutorial.com/why-learn-golang-what-is-golang-used-for/</guid><description>Why learn Golang? See where Go fits, what teams build with it, its tradeoffs, and a tested concurrency example before choosing it.</description><pubDate>Sun, 23 Dec 2018 14:30:11 GMT</pubDate></item><item><title>Learn Golang with a Practical Beginner Course</title><link>https://golangtutorial.com/learn-golang-a-beginners-course/</link><guid isPermaLink="true">https://golangtutorial.com/learn-golang-a-beginners-course/</guid><description>Learn Golang through a practical course that moves from syntax to tested programs, modules, errors, concurrency, HTTP, and a final service.</description><pubDate>Sun, 23 Dec 2018 10:59:40 GMT</pubDate></item></channel></rss>