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{} / any holds 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.

presentation

Future Topics Discussion

Open discussion on topic for future talks, workshops, activities.

Events

  • Edmonton Go Meetup November