Go 1.27

717 points · 217 comments on HN · read original →

Points and comments are a snapshot, not live.

Go 1.27 ships generic methods, struct literal improvements, and a new post-quantum crypto package.

Go 1.27 introduces generic methods on types, direct initialization of nested/embedded struct fields, and broader function type inference in assignments. The toolchain adds modernizers to `go fix`, `package@version` queries to `go doc`, and automatic `require` block consolidation. The runtime improves small-object allocation performance by up to 30%. New standard library packages include `encoding/json/v2` with configurable options, `crypto/mldsa` for the post-quantum ML-DSA signature scheme, native `uuid` support, and experimental `simd` packages.

What commenters are saying

Commenters broadly welcome the release, praising generic methods and the new `uuid` package as overdue quality-of-life improvements. Some note that `gopls` and `golangci-lint` initially broke with generic methods, but updates resolve the issues. Several users express interest in algebraic data types and better error handling, referencing the Go team's ongoing proposal discussions. The post-quantum `crypto/mldsa` addition draws attention, with commenters debating the urgency and timeline of cryptographic migration.