Google’s Go programming language has been updated with changes across the language, toolchain, runtime, and standard library.
Released August 19, Go 1.27 brings three notable enhancements to the language specification, the Go team said. First, Go now supports generic methods, in which a method declaration may declare its own type parameters. Second, a key in a struct literal may now be any valid field selector for the struct type, allowing fields in nested or embedded structs to be initialized directly. Third, function type inference now applies in all assignment contexts. This means generic functions now can be used without explicit type arguments in composite literals, type conversions, and channel sends.
Other improvements in Go 1.27 include:
go fix
atomictypes
, embedlit
, slicesbackward
, and unsafefuncs
.go doc
package@version
queries such as go doc example.com/pkg@v1.2.3
.go mod tidy
require
blocks in go.mod
into a standard direct and indirect two-block structure.goroutineleak
runtime/pprof
An August 26 post on the Go blog provides more detail on Go’s new support for generic methods. The Go team said it would cover other Go 1.27 features in additional blog posts in the coming weeks.