Hacker News new | ask | show | jobs
by masklinn 454 days ago
In Go, defers are function scoped not block scoped.
2 comments

I mean, you just write all your scopes as `(func() { })()` in go, and it works out fine.

Adding `func() {}()` scopes won't break existing code usually, though if you use 'break' or 'continue' you might have to make some changes to make it compile, like so:

https://go.dev/play/p/_Gq4QYtyMmp

see, no other issues, works exactly like you'd expect

Right, that makes more sense.