The Go Blog

Fourteen Years of Go, 10 November 2023
Russ Cox, for the Go team

Happy Birthday, Go!

Everything You Always Wanted to Know About Type Inference - And a Little Bit More, 9 October 2023
Robert Griesemer

A description of how type inference for Go works. Based on the GopherCon 2023 talk with the same title.

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.

More articles...