Multiple Interfaces
A single type in Go can satisfy multiple interfaces simultaneously. This is a natural consequence of implicit implementation—as long as the type has the required methods, it fulfills the interface.
Example
type expense interface {
cost() int
}
type formatter interface {
format() string
}
type email struct {
body string
}
func (e email) cost() int { return 10 }
func (e email) format() string { return e.body }
// email implements BOTH expense and formatter
Versatility
This allows you to pass the same object into different functions that expect different behaviors. One function might care about the cost(), while another cares about how it is format()ted.