Interfaces and Errors
Interface Basics
Interfaces describe behavior by listing methods.
Interface Basics
interface_intro.go
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "hello from " + p.Name
}
func main() {
var name =
var speaker Speaker = Person{Name: name}
message := speaker.Speak()
fmt.Println("name=", name)
fmt.Println("message=", message)
}
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "hello from " + p.Name
}
func main() {
var name =
var speaker Speaker = Person{Name: name}
message := speaker.Speak()
fmt.Println("name=", name)
fmt.Println("message=", message)
}
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "hello from " + p.Name
}
func main() {
var name =
var speaker Speaker = Person{Name: name}
message := speaker.Speak()
fmt.Println("name=", name)
fmt.Println("message=", message)
}
interface
An interface is satisfied by any type that has the required methods.