// interface declaration type Awesomizer interface { Awesomize() string } // // types do *not* declare to implement interfaces type Foo struct {} // // instead, types implicitly satisfy an interface // if they implement all required methods func (foo Foo) Awesomize() string { return "Awesome!" }