Go 1.19 improves generics and memory model
Go 1.19, the latest version of Google’s Go (Golang) programming language, is available for production. The update improves recently added generics and launches an improved memory model.
With Go 1.19, released on August 2, generic development focused on fixing subtle issues and critical cases reported by the community as well as improving performance (up to 20% in some generic programs) . Long-sought generic features were added to the language with Go 1.18, which was released in March.
Go 1.19 can be downloaded from go.dev for Windows, macOS and Linux. Other features of Go 1.19:
- A soft memory limit has been added to the garbage collector. The limit can be useful for optimizing Go programs to run as efficiently as possible in containers with dedicated amounts of memory.
- Performance and implementation improvements include dynamic coroutine stack sizing to reduce stack copyrights, automatic use of additional file descriptors on most Unix systems, jump tables for large switch instructions on x86-64 and ARM64, and support for debugger-injected function calls on ARM64.
- A small correction was made for typing parameters into method declarations. Existing programs are not affected.
- Documentation comments now support links, lists, and header syntax, to help users write clearer documentation comments, especially in packages with large APIs.
- For security reasons, the os/exec package no longer respects relative paths in PATH searches.
- A new construction constraint,
unixis satisfied when the targeted operating system is a Unilx type operating system.
Copyright © 2022 IDG Communications, Inc.