The Go Blog

Deconstructing Type Parameters, 26 September 2023
Ian Lance Taylor

Why the function signatures in the slices packages are so complicated.

Fixing For Loops in Go 1.22, 19 September 2023
David Chase and Russ Cox

Go 1.21 shipped a preview of a change in Go 1.22 to make for loops less error-prone.

WASI support in Go, 13 September 2023
Johan Brandhorst-Satzkorn, Julien Fabre, Damian Gryski, Evan Phoenix, and Achille Roussel

Go 1.21 adds a new port targeting the WASI preview 1 syscall API

Scaling gopls for the growing Go ecosystem, 8 September 2023
Robert Findley and Alan Donovan

As the Go ecosystem gets bigger, gopls must get smaller

Profile-guided optimization in Go 1.21, 5 September 2023
Michael Pratt

Introduction to profile-guided optimization, generally available in Go 1.21.

Perfectly Reproducible, Verified Go Toolchains, 28 August 2023
Russ Cox

Go 1.21 is the first perfectly reproducible Go toolchain.

Structured Logging with slog, 22 August 2023
Jonathan Amsterdam

The Go 1.21 standard library includes a new structured logging package, log/slog.

Forward Compatibility and Toolchain Management in Go 1.21, 14 August 2023
Russ Cox

Go 1.21 manages Go toolchains like any other dependency; you will never need to manually download and install a Go toolchain again.

Backward Compatibility, Go 1.21, and Go 2, 14 August 2023
Russ Cox

Go 1.21 expands Go's commitment to backward compatibility, so that every new Go toolchain is the best possible implementation of older toolchain semantics as well.

Go 1.21 is released!, 8 August 2023
Eli Bendersky, on behalf of the Go team

Go 1.21 brings language improvements, new standard library packages, PGO GA, backward and forward compatibility in the toolchain and faster builds.

More articles...