October 2025 Go Meetup
Meetup #79 on October 15 in person at Edmonton Unlimited at 6:00 pm.
Please RSVP at Meetup
News
Agenda
Go Interfaces
Peter Preeper gave an introduction to Go interfaces: what they are, how they work under the hood, and why they're central to idiomatic Go. Interfaces are named sets of method signatures that describe behavior rather than data — a contract a type satisfies implicitly, with no implements keyword. The talk covered duck typing, the Go preference for small single-method interfaces like io.Reader/io.Writer, using interfaces for dependency injection and testability, and the empty interface (any). Under the hood, an interface value is a two-word pair — a type pointer and a data pointer — which is what enables dynamic dispatch; type assertions and type switches recover the concrete type.
Key points:
- Interfaces describe behavior (methods), not data.
- Implementation is implicit ("if it walks like a duck…").
- Prefer small, composable interfaces.
- They enable loose coupling, mocking, and dependency injection.
interface{}/anyholds any value, at the cost of static type safety.- An interface value holds a type pointer + data pointer; calls dispatch dynamically.
- Use type assertions/type switches to inspect the concrete type.
Future Topics Discussion
Open discussion on topic for future talks, workshops, activities.
Events
- Edmonton Go Meetup November