接口

作者: tonyemail_st | 来源:发表于2018-06-18 17:14 被阅读0次

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

    package main
    
    import (
        "fmt"
    )
    // 定义Phone接口
    type Phone interface {
        call()
    }
    //定义NokiaPhone结构体
    type NokiaPhone struct {
    }
    //Nokia类型实现call方法
    func (nokiaPhone NokiaPhone) call() {
        fmt.Println("I am Nokia, I can call you!")
    }
    
    type IPhone struct {
    }
    
    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()
    
    }
    

    练习
    定义geometry接口,包含【面积area()方法】与【周长perim()方法】,定义rect结构体,circle结构体。给两个结构体(类型)分别实现接口的两个方法,要求所实现的方法都要有返回值。在main函数中打印返回值,要求打印面积与周长时,需要定义measure方法,该方法接收接口类型geometry作为参数,打印出来该实例(参数),面积与周长。

    注意:不同之处在于该接口内的方法有返回值,而例子中没有。

    接口-参考答案

    相关文章

      网友评论

          本文标题:接口

          本文链接:https://www.haomeiwen.com/subject/jamneftx.html