Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Go 1.26 Interactive Tour (antonz.org)
113 points by phren0logy 3 days ago | hide | past | favorite | 13 comments




With the new GC I really love the trend of understanding memory bandwidth is the bottleneck for many things and the combination of locality and SIMD is a big performance unlock.

Reminds me of the WAND vs MAXSCORE discussion by turbopuffer: https://turbopuffer.com/blog/fts-v2-maxscore


> Optimized fmt.Errorf — With the new Go release, this debate should finally be settled. For unformatted strings, fmt.Errorf now allocates less and generally matches the allocations for errors.New. Specifically, fmt.Errorf goes from 2 allocations to 0 allocations for a non-escaping error, and from 2 allocations to 1 allocation for an escaping error […]

Thank you so much!!! I used to always take an extra second to decide which one to use based on the function’s parameter(s), and now I feel like I’m getting that time back, no sarcasm at all. This is a genuinely great improvement.


Anton's interactive tour is the best way to read the release notes IMO! As mentioned on Cup o' Go.

Cup ‘o Go? The name is familiar. If yes, love the show and listen to every episode even though I rarely use Go!

Oh wow the changes to new() are an enormous ergonomics unlock. ErrAsType will also replace a similar package for me (too bad value errors will still be a thing though, and beginning new type errors still so wordy).

  https://antonz.org/go-1-26/#httptest-example
> To fix this issue, the HTTP client returned by httptest.Server.Client now redirects requests for example.com and its subdomains to the test server

I'm really conflicted about the idea that the https client should silently hijack requests to example.com in order to make a dummy certificate work... or am I just really misunderstanding?


I don't use Go often but that's an excellent summary article.

This was a great read, even without having been working with Go for some time. It was well written, the examples demonstrated nearly everything, and being able to edit samples to test everything else, all on my phone, is quite delightful. Cheers to the author

Fed *bool `json:"is_fed"` // you can never be sure

felt that part


The recursive type constraints are excellent.

The differences btwn new() and make() is even lesser now. Is the goal is to deprecate make()?

How would you dup := make([]int, 0, len(slice)) then?

Wow, big release. I wonder if it was AI facilitated?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: