代码:
package main
import "fmt"
type Person interface {
walk()
}
type Student struct {
}
func (s *Student) walk() {
fmt.Println("开始行走")
}
func main() {
var p Person
a := Student{}
p = &a
p.walk()
}
解析:先定义接口,接口内定义一个walk方法。再定义一个空结构体,接口必须和结构体绑定。再定义walk方法,作为结构体的函数,从而隐式的实现接口。main函数中定义一个p变量,为接口类型。调用p.walk()方法,实现接口的调用。