Go — Worker pool (goroutines, channels)
A realistic Go program: a worker pool with structs and methods, goroutines, buffered channels, and a sync.WaitGroup — tab-indented like gofmt, for testing highlighters, go vet, and parsers.
// A worker pool in Go: structs with methods, goroutines, channels,
// and a WaitGroup.
package main
import (
"fmt"
"sync"
)
type Job struct {
ID int
Data int
}
type Result struct {
JobID int
Output int
}
func worker(jobs <-chan Job, results chan<- Result, wg *sync.WaitGroup) {
defer wg.Done()
for job := range jobs {
results <- Result{JobID: job.ID, Output: job.Data * job.Data}
}
}
func main() {
const workers = 3
jobs := make(chan Job, 8)
results := make(chan Result, 8)
var wg sync.WaitGroup
for i := 0; i < workers; i++ {
wg.Add(1)
go worker(jobs, results, &wg)
}
for i := 1; i <= 8; i++ {
jobs <- Job{ID: i, Data: i}
}
close(jobs)
go func() {
wg.Wait()
close(results)
}()
total := 0
for r := range results {
total += r.OutputSpecifications
- Language
- Go
- Kind
- realistic snippet
- Lines
- 53
- Encoding
- UTF-8
- Line Endings
- LF
What is a .go file?
Go (.go) is a plain-text source file for the Go programming language — a statically typed, compiled language from Google designed for simplicity and concurrency. It features goroutines and channels, a fast compiler, garbage collection, structs with methods, and interfaces, with a strict standard formatting.
How to use this file
Use an example .go file to test syntax highlighters, the Go compiler and vet, gofmt, linters, and parser or language-detection tooling.
Related files
- goGo — Hello WorldThe classic hello-world in Go — package main, an import, and fmt.Println, tab-indented like gofmt — for testing highlighters, the Go compiler, and parsers.

- cC — Hello WorldThe classic hello-world in C — an include, main, and printf — for testing highlighters, C compilers, and parsers against the canonical first program.

- cC — Linked list (structs, malloc, pointers)A realistic C program: a singly linked list with a typedef struct, malloc/free memory management, pointer walking, and error handling — for testing highlighters, compilers, and static analysers.

- cppC++ — Hello WorldThe classic hello-world in C++ — iostream and std::cout — for testing highlighters, C++ compilers, and parsers.

- cppC++ — Series (class template, STL)A realistic C++ snippet with a class template, STL algorithms (max_element, accumulate), std::move, and range handling — for testing highlighters, g++/clang++, and parsers against real templates.

- cssCSS — Component styles (variables, flexbox, keyframes)A realistic component stylesheet using custom properties, flexbox, a fluid clamp() font size, color-mix(), a keyframe animation, and a media query — for testing CSS parsers, linters (stylelint), and highlighters.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.