Golang入门到项目实战 | golang接口嵌套

Posted 一个热爱编程的通信人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang入门到项目实战 | golang接口嵌套相关的知识,希望对你有一定的参考价值。

接口可以通过嵌套,创建新的接口。例如:飞鱼,既可以飞,又可以游泳。我们创建一个飞Fly接口,创建一个游泳接口Swim,飞鱼接口由这两个接口组成。

飞Fly接口

type Flyer interface 
    fly()

创建Swimmer接口

type Swimmer interface 
    swim()

组合一个接口FlyFish

type FlyFish interface 
    Flyer
    Swimmer

创建一个结构体Fish

type Fish struct 

实现这个组合接口

func (fish Fish) fly() 
    fmt.Println("fly...")


func (fish Fish) swim() 
    fmt.Println("swim...")

测试

package main

import "fmt"

type Flyer interface 
    fly()


type Swimmer interface 
    swim()


type FlyFish interface 
    Flyer
    Swimmer


type Fish struct 


func (fish Fish) fly() 
    fmt.Println("fly...")


func (fish Fish) swim() 
    fmt.Println("swim...")


func main() 
    var ff FlyFish
    ff = Fish
    ff.fly()
    ff.swim()

运行结果

[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
fly...
swim...

以上是关于Golang入门到项目实战 | golang接口嵌套的主要内容,如果未能解决你的问题,请参考以下文章

Golang入门到项目实战 | golang接口

Golang入门到项目实战 | golang接口和类型的关系

Golang入门到项目实战 | golang接口值类型接收者和指针类型接收者

Golang入门到项目实战 | golang接口值类型接收者和指针类型接收者

Golang入门到项目实战 第一个golang应用

Golang入门到项目实战 golang匿名函数