接口的实现

43 阅读1分钟

代码:

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()方法,实现接口的调用。