Go Meetup #24
Details
Hosted by Sky Czech Republic.
Doors are open from 5:30 pm, talks will start at 6:00 pm.
1. Marek Svitok (Sky) - Elegance and Safety in Goroutine Management
Concurrent programming is a core strength of Go, but managing multiple goroutines while handling errors and synchronization can quickly become complex and error-prone. The golang.org/x/sync/errgroup package provides a simple and effective abstraction for running multiple goroutines concurrently, propagating the first error encountered, and ensuring all routines complete before proceeding. In this article, we explore why errgroup is a valuable tool, how to use it effectively, and what design patterns emerge from its usage. We also examine how one might implement similar functionality manually, highlighting the pitfalls and edge cases that make a manual approach cumbersome. By comparing manual implementations with the idiomatic errgroup usage, we aim to demonstrate why adopting this package leads to safer, cleaner, and more maintainable concurrent code in Go.
2. Vilibald Wanca - Nail the Basics - S01E03
Go does not use `try/catch` for normal error handling. Instead, it treats errors as explicit return values, while `panic` is reserved for truly exceptional or unrecoverable situations. A panic stops normal execution, runs deferred calls, and can only be intercepted with `recover` inside a deferred function. This makes `panic/recover` closer to an emergency escape hatch than a general exception system. The result is a model that favors clarity and explicit control over hidden flow.
By attending the event I agree that photographs and video recordings from this event may be used by Sky Czech Republic for employer branding and promotional purposes across company websites, career pages, social media, third-party profiles, and other communication materials.
