Go programming language announced the new 1.23 release on 13 August, 2024! Here’s the new features and how to install guide for Ubuntu & other Linux.
What’s New in Go 1.23:
- The “range” clause in a “for-range” loop now accepts iterator functions of the following types:
func(func() bool)
,func(func(K) bool)
,func(func(K, V) bool)
. - preview support for generic type aliases
- Add All, Values, Backward, Collect, AppendSeq, Sorted, SortedFunc, SortedStableFunc, Chunk functions in slices package.
- Add All, Keys, Values, Insert, Collect functions in maps package.
- Add new structs package provides types for struct fields that modify properties of the containing struct type such as memory layout.
- Go toolchain is possible to collect usage and breakage statistics
- New
go env -changed
,go mod tidy -diff
flags - Setting the GOROOT_FINAL environment variable no longer has an effect.
- The
go list -m -json
command now includes newSum
andGoModSum
fields - The
go vet
subcommand now reports symbols that are too new for the intended Go version. - New
iter
,structs
,unique
packages. - supports the new godebug directive in go.mod and go.work files
- time.Timer and time.Ticker no longer referred to by the program become eligible for garbage collection immediately
- the timer channel associated with a Timer or Ticker is now unbuffered, with capacity 0.
See the announcement for more changes in Go 1.23.