golang interface - pikachule/golang_notes GitHub Wiki
package main
import (
"fmt"
)
type MyInterface interface {
Print()
Hello()
World()
AWK()
}
func Foo(me MyInterface) {
me.Print()
me.Hello()
me.World()
me.AWK()
}
type MyStruct struct {
}
func (me MyStruct) AWK() {
fmt.Println("awk")
}
func (me MyStruct) Hello() {
fmt.Println("hello...")
}
func (me MyStruct) Print() {
fmt.Println("print here")
}
func (me MyStruct) World() {
fmt.Println("world")
}
func main() {
var me MyStruct
Foo(me)
}