How to Compose Interfaces in Go (Interface Embedding)

Compose Go interfaces by embedding existing interfaces to inherit their methods and create new, combined contracts.

Compose interfaces in Go by embedding one interface inside another to inherit its methods. The resulting interface requires the embedded methods plus any new ones you define.

type Reader interface {
	Read(p []byte) (n int, err error)
}

type Writer interface {
	Write(p []byte) (n int, err error)
}

type ReadWriter interface {
	Reader
	Writer
}