zoukankan      html  css  js  c++  java
  • go学习笔记day19

    Go 语言接口

    Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。

    package main
    
    import (
        "fmt"
    )
    
    type Phone interface {
        call() // 共性的方法
    }
    
    type NokiaPhone struct {
    }
    
    // 结构体NokiaPhone实现了 call 方法 func (nokiaPhone NokiaPhone) call() { fmt.Println("I am Nokia, I can call you!") } type IPhone struct { } // 结构体IPhone实现了 call 方法 func (iPhone IPhone) call() { fmt.Println("I am iPhone, I can call you!") } func main() { var phone Phone phone = new(NokiaPhone) // 实现了方法,就是实现了这个接口 phone.call() phone = new(IPhone) phone.call()
    }

      

    注意:对数据类型-接口的理解,把所有的具有共性的方法定义在一起,像是对一个方法的抽象。

    定义一个动物接口: Animal  (动物的共享方法可能是,会叫,会吃,会跑等)

    定义一个结构体: Dog (小狗 会叫,会吃,会跑等)

    再定义一个结构体: Cat (小猫 会叫, 会吃,会跑等)

    现在,根据需求,小动物们的叫声,此时就可以把会叫这个方法抽象到 interface 里,而动物们的其他技能就可以保密

    (interface 更多的是提供了对外的一种数据范围,保证信息的单一性)

  • 相关阅读:
    MongoDB使用命令列表
    关于.Net WebProxy【转】
    第七章、基本数据类型(tuple)
    第六章、基本数据类型(list)
    python JOB(作业)
    第五章、基本数据类型(int、str)
    第四章、Python运算符
    第三章、pycharm配置
    第二章、python初识以及变量
    第一章、python学习大纲
  • 原文地址:https://www.cnblogs.com/baota/p/15698445.html
Copyright © 2011-2022 走看看