Go 1.27
- e4m2 - 56370 sekunder sedanNot mentioned: Floating-point parsing and formatting now uses Russ Cox's uscale algorithm.
https://github.com/golang/go/blob/go1.27.0/src/internal/strc...
- teabee89 - 58776 sekunder sedanI love how proactive the crypto team is about post quantum. They released https://pkg.go.dev/crypto/mldsa. The lead maintainer Filippo Valsorda wrote a nice piece here[1] to urge the tech world to start deploying good enough versions of post quantum crypto.
- guessmyname - 56709 sekunder sedanBrace for a wave of drive-by pull-requests swapping google/uuid [1] out for the now-standard uuid package [2].
Kubernetes project will be the first one [3] I guarantee it.
[1] https://pkg.go.dev/github.com/google/uuid
[3] https://github.com/kubernetes/kubernetes/blob/2220c3853a2402...
- pjmlp - 18543 sekunder sedanStruct literal changes while welcomed, have the issue of being a possible source of bugs, if there are overlapping fields,
type Habitat struct { Burrow string }
type Gopher struct { Name string Burrow string Habitat }
It will not initialise what one expects, here it is a contrived example, however it may not be easy to spot in more complex source code.
https://go.dev/play/p/dsY6tK5S8Ie
Better generics and improved SIMD are nice additions as well.
- Xeoncross - 58689 sekunder sedan> First, generic methods are now supported > Generic functions can now be used without explicit type arguments
Great! This was an ergonomic code issue I hit when trying to create a universal handler/controller generic that could hydrate/populate function arguments (from a request body) without having an actual copy of the arguments: https://github.com/xeoncross/mid/blob/main/handler.go#L12
- xavdid - 51096 sekunder sedanI love these release notes but I really wish they would add syntax highlighting to the Go blog. I'm always a little bit surprised/disappointed whenever I land on a go.dev link since I know the code will be just a little harder to visually parse than it needs to be.
- olingern - 59111 sekunder sedan> 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
It's been a while since I've written more than anything trivial in golang, but this seems like a big deal to me. As in, I can define a struct that is consistent and reusable in other structs
- piinbinary - 59559 sekunder sedanThis makes me want to find a side project for an excuse to give Go another try (I last used it professionally pre-generics).
I do still wish it had discriminated unions (algebraic data types) and some better error handling ergonomics.
- tyho - 56101 sekunder sedanThe SIMD stuff is incredible. I have been having lots of fun with it. You can use LLMs as a scalar to SIMD transpiler, it works amazingly well.
Sure a SIMD expert writing assembly can probably do a better job than an LLM using these new intrinsics, but it’s still massively faster.
- patabyte - 59853 sekunder sedanI'm so glad the new uuid package landed - it's overdue but a very welcome addition! I've already replaced github.com/google/uuid with `uuid` in several projects
- tschellenbach - 58974 sekunder sedanEvery release CPU load becomes a bit lower. Love it :)
- ejboy - 48500 sekunder sedanUsed to code primarily in Java. Now my app stack is about 80% Go. I love that it enables lightweight application development. Glad to see the platform evolving with a focus on resource efficiency.
- olexsmir - 58275 sekunder sedanFull release notes: https://go.dev/doc/go1.27
- sethops1 - 59508 sekunder sedanFYI golangci-lint and gopls are both broken if you try using generic methods.
- todotask2 - 22240 sekunder sedanInteresting, this reduced memory usage in my test down from 14 MB to 12 MB, and Bun (Rust) is still at 7.2 MB, down from 10 MB with Bun (Zig).
- tschellenbach - 58947 sekunder sedanNew JSON is amazing, and SIMD will be big for json, audio/video etc.
- nick_ - 59343 sekunder sedanNice additions to go.
I like to imagine that one day we'll have a language that launched with all the features languages eventually add. The whole ecosystem of packages would be built on them instead of a legacy of more primitive language feature sets.
- evantbyrne - 39443 sekunder sedanGeneric methods are a huge win for the language. I've been waiting on these kinds of improvements to the type system before resuming work on my database toolkit.
- jeanbza - 59556 sekunder sedanI have been waiting for generic methods and can't wait to use them!
The `go fix` modernisers are also great, have already run them in several repos.
- tonymet - 58251 sekunder sedanI love Go because even minor versions deliver great value like this. The struct literal inits and generic methods are great conveniences to clean up clumsy boilerplate.
Not to mention it’s just a dream language to work with , especially when building concurrent applications. I love engaging all of my cores. And memory is so expensive nowadays
- Hasz - 58835 sekunder sedanI have recently been spending time learning go, really really liking the language, awesome standard lib, excellent tooling and great experience.
It sounds like the dumbest thing in the world, but I love the import system auto-adding stuff inside of vscode when I need it. just slick.
- tugback - 35000 sekunder sedanGeneric methods finally landing is huge. Having to write a separate typed method for every integer type was one of the most annoying boilerplate patterns in Go.
- kar1181 - 53618 sekunder sedanGo - the language no one likes, but frankly everyone needs.
- dude250711 - 49166 sekunder sedanQuarterly reminder that Go still exists.
- punnerud - 20080 sekunder sedan[dead]
- BLACKCRAB - 22385 sekunder sedan[dead]
- DisceetPlug - 38842 sekunder sedan[dead]
- CurbStomper - 57607 sekunder sedan[dead]
- DisceetPlug - 38890 sekunder sedan[dead]
- fatty_patty89 - 59733 sekunder sedan[flagged]
- SpaceManNabs - 55119 sekunder sedanWait generics? What changed? Why is golang accepting of generics now?
- BeriV2 - 44137 sekunder sedandoes it have goroutine termination, i recently found out you need a runtime patch for it
- Fervicus - 42817 sekunder sedanI really want to like Go, but I can't stand looking at Go code. The error handling is such a turn off.
- pmkary - 32431 sekunder sedanI'm always amazed on how the Go team has bo faith in syntax highlighting.
- pregnenolone - 55167 sekunder sedanWasn't Go supposed to be "simple"? I remember how Go advocates used to boast about not having generics and now it almost seems like Go is trying to become some sort of C# or Java Frankenstein. I'm not even trying to badmouth Golang - just legitimately confused.
- freakynit - 35044 sekunder sedanAs I've always said: every non-functional programming language, as it matures, it's adoption rises in enterprise, eventually starts to become more and more like Java in terms of it's syntax and feature-set.
Nördnytt! 🤓