Anton Zhiyanov (@ohmypy) 's Twitter Profile
Anton Zhiyanov

@ohmypy

Open source maintainer. Writing interactive technical books at antonz.org

ID: 1267946341

linkhttp://antonz.org calendar_today14-03-2013 20:36:01

1,1K Tweet

5,5K Followers

64 Following

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

I asked several hundred Go developers what they like most about the upcoming 1.25 release. Here are the results: ➀ JSON v2 ➁ GOMAXPROCS, synctest, new GC ➂ WaitGroup.Go

I asked several hundred Go developers what they like most about the upcoming 1.25 release.

Here are the results:

➀ JSON v2
➁ GOMAXPROCS, synctest, new GC
➂ WaitGroup.Go
Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

I've updated the list of Go features by version. Now, each feature has ➀ a link to the documentation, ➁ a link to the proposal, and ➂ a link to the commits. It's fascinating to see how Go has changed over the years. antonz.org/which-go

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

The new chapter of my interactive Go Concurrency book covers signaling, one-time execution, and object pools. If you think channels are the only way for goroutines to communicate, check it out! antonz.org/go-concurrency…

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

All jokes aside, I've implemented promises and async/await in Go. Just make sure you NEVER use them. github.com/nalgeon/azor

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

I've been working with the errors package for a while, but I only recently noticed that it has an ErrUnsupported sentinel (Go 1.21+). It indicates that the requested operation can't be performed because it's not supported. Have you ever used ErrUnsupported?

I've been working with the errors package for a while, but I only recently noticed that it has an ErrUnsupported sentinel (Go 1.21+).

It indicates that the requested operation can't be performed because it's not supported.

Have you ever used ErrUnsupported?
Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

I think third-party Go concurrency packages are often too opinionated and try to hide too much complexity. That's why I created `chans`: a package with generic channel operations that's unopinionated and doesn't take control away from the developer. antonz.org/chans

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

Go 1.25 is out, and the announcement says: "Over the next few weeks, follow-up blog posts will cover some of the topics in more detail. Check back in later." So you can wait a few weeks OR you can read my interactive Go 1.25 tour right away: antonz.org/go-1-25

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

One of my Go students saw this interface and asked me, "What the heck is this?" Usually, we list methods in an interface. But here, instead of methods, we have a union of types (in this case, int and float64). This is a valid construct: an interface can be declared as a union

One of my Go students saw this interface and asked me, "What the heck is this?"

Usually, we list methods in an interface. But here, instead of methods, we have a union of types (in this case, int and float64).

This is a valid construct: an interface can be declared as a union
Alex Edwards (@ajmedwards) 's Twitter Profile Photo

New blog post now out: The 9 Go test assertions I use (and why). It riffs off Anton Zhiyanov’s recent article on testing, and digs into the Go Wiki advice about *not* using assertion functions in your tests. alexedwards.net/blog/the-9-go-…

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

WaitGroup.Go is a small change, but wait groups are so common in concurrent programming that switching from Add+Done to Go in my concurrency book took me a while :) Anyway, it's done now, so a lot of examples are easier to read! antonz.org/go-concurrency

Anton Zhiyanov (@ohmypy) 's Twitter Profile Photo

I've made a public changelog for my projects. 35 major updates over the past 5 years — I guess I'm building in public after all! antonz.org/tags/projects

I've made a public changelog for my projects. 35 major updates over the past 5 years — I guess I'm building in public after all!

antonz.org/tags/projects