go 实现一个接口

发布时间 2024-01-11 20:24:46作者: 李若盛开

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

package main

import (
    "fmt"
)

type Phone interface {
    call()
}

type NokiaPhone struct {
}
type IPhone struct {
}

func (nokiaPhone NokiaPhone) call() {
    fmt.Println("I am Nokia, I can call you!")
}

func (iPhone IPhone) call() {
    fmt.Println("I am iPhone, I can call you!")
}
func main() {
    var phone Phone
    phone = new(NokiaPhone)
    phone.call() // I am Nokia, I can call you!
    phone = new(IPhone)
    phone.call() // I am iPhone, I can call you!
}