The go team announced the 1.19 release of the popular computer language few days ago.
Go 1.19 adds links, lists, and clearer heading syntax support for doc comments to help writing clearer, more navigable doc comments, especially in packages with large APIs.
A link is a span of unindented non-blank lines the form “[Text]: URL
“. Doc links are links of the form “[Name1]
” or “[Name1.Name2]
” to refer to exported identifiers in the current package, or “[pkg]
“, “[pkg.Name1]
“, or “[pkg.Name1.Name2]
” to refer to identifiers in other packages.
A list is a span of indented or blank lines in which the first indented line begins with a bullet list marker (*, +, -, •; U+002A, U+002B, U+002D, U+2022) or a numbered list marker (1, 2, 3 …). Read more about Go doc comments.
The memory model now explicitly defines the behavior of the sync/atomic package. As well, there are new types in the sync/atomic package, such as atomic.Int64 and atomic.Pointer[T], to make it easier to use atomic values.
The release also add a soft memory limit support for garbage collector, which can be particularly useful for optimizing Go programs to run in containers with dedicated amounts of memory.
Other changes in Go 1.19 include:
- The os/exec package no longer respects relative paths in PATH lookups due to security reasons.
- The new build constraint unix is satisfied when the target operating system (GOOS) is any Unix-like system
- Dynamic sizing of initial goroutine stacks to reduce stack copying
- Automatic use of additional file descriptors on most Unix systems
- Jump tables for large switch statements on x86-64 and ARM64
- Support for debugger-injected function calls on ARM64
- Register ABI support on RISC-V.
- Experimental support for Linux running on Loongson 64-bit architecture LoongArch (GOARCH=loong64).
How to Get Go 1.19:
Go web site provides the maOS, Windows, Linux packages as well as source code for download via the link button below:
And, here’s step by step guide shows how to install it in Debian & Ubuntu based systems.