March 6, 2026
ID-entity crisis in Go
UUID package coming to Go standard library
Go finally considers built‑in unique IDs—and the comments explode
TLDR: Go may add built‑in support for UUIDs, the unique IDs used in most apps. Commenters are split between “about time” frustration, concerns about bloating Go’s core, and arguments over which third‑party package should inspire it—turning a simple feature into a lively package politics showdown.
Go devs floated adding a built‑in way to make and read UUIDs—those universal unique IDs you slap on users, orders, and mystery bugs. The proposal leans on years of real‑world use, nods to the official standard RFC 9562, and mirrors what most Go apps already do with google/uuid. But the real spectacle is in the comments, where the crowd splits into two loud camps.
On one side, “finally!” people cheer, saying Go’s minimalism went too far. “Golang lack of support for basic stuff like this is quite annoying,” fumes one user, echoing a common frustration. On the other, the purists clutch pearls over core bloat and ask why Google’s sleepy package is the model when gofrs/uuid is “actively maintained” and fits the newer spec—cue spicy package politics.
Then comes the popcorn: a commenter calls the thread a “highschool debate club”, accusing Go folks of debating for sport. Another deadpans that it’s a “slow day in Go‑news land,” joking that we’re arguing ID labels while the rest of tech is busy predicting AI overlords. Memes fly, the minimalists square off against pragmatists, and everyone agrees on one thing: UUIDs aren’t new—so why is this so dramatic?
Key Points
- •Proposal to add a uuid package to Go’s standard library supporting UUID versions 3, 4, and 5.
- •Motivation includes widespread use and stable interface of the third-party github.com/google/uuid package.
- •The proposal highlights that Go lacks built-in UUID support compared to many other languages.
- •Updated API design includes a more permissive Parse, Nil and Max as variables, and a reference to RFC 9562 in Compare docs.
- •The package specifies CSPRNG-based randomness for new UUIDs and a New function for general-purpose generation.