Go Interface概念

直接上代码:

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()
}

猜你喜欢

转载自www.cnblogs.com/vincenshen/p/9460236.html