What we know already
gocommand to skip certificate validation or accept HTTP
GOINSECURE=localhost go get foo/bar
/vendorfolder is present
-mod=vendormust have been passed
go test -v(or
t.Log) is now streamed instead of being presented at the end of all tests
This release improves the performance of most uses of defer to incur almost zero overhead compared to calling the deferred function directly. As a result, defer can now be used in performance-critical code without overhead concerns.
The page allocator is more efficient and incurs significantly less lock contention at high values of GOMAXPROCS. This is most noticeable as lower latency and higher throughput for large allocations being done in parallel and at a high rate.
Discord should consider to reevaluate their switch from Go to Rust 😉.
byteto 64-bit integers
ioutil.TempDirallows to specify a naming pattern (like
rm -rf /tmp/my-app-*)
.mjsfiles is now
Header.Valuesreturns all values associated to a header key (
Header.Valueonly returns the first one)
t.Cleanupallows to define a custom cleanup function that is run after each test
Currently, Go permits any type assertion x.(T) (and corresponding type switch case) where the type of x and T are interfaces.
The primary goals for Go remain package and version management, better error handling support, and generics.
we are also making progress on the generics front (more on that later this year).