简单地说 Interface是一组Method的组合,可以通过Interface来定义对象的一组行为。
如果某个对象实现了某个接口的所有方法,就表示它实现了该借口,无需显式地在该类型上添加接口说明。Interface是一个方法的集合,它里面没有其他类型变量,而且Method只用定义原型 不用实现

 

实现一个动物的接口:

package main

import "fmt"

// 定义一个 Animal接口
type Animal interface {
    Eat()
    Talk()
    Run()
}


// Dog 实现了Animal的所有方法,就可以说Dog实现了Animal这个接口
type Dog struct {
    name string
}

func (d *Dog) Eat() {
    fmt.Printf("%s is Eating...\n", d.name)
}

func (d *Dog) Talk() {
    fmt.Printf("%s is Talking...\n", d.name)
}

func (d *Dog) Run() {
    fmt.Printf("%s is Running...\n", d.name)
}

func main() {
    var dog = &Dog{
        name: "WangCai",
    }

    var a Animal
    a = dog
    a.Run()
    a.Eat()
    a.Talk()
}
View Code

相关文章:

  • 2021-09-22
  • 2021-06-09
  • 2022-12-23
  • 2021-11-20
  • 2022-01-22
  • 2021-08-03
  • 2021-11-06
猜你喜欢
  • 2022-02-02
  • 2022-12-23
  • 2021-07-13
  • 2021-10-08
  • 2021-12-31
  • 2022-12-23
相关资源
相似解决方案