package main

import (
	"fmt"
)

type Phone interface {
	call()
}

type NokiaPhone struct {
}

func (phone NokiaPhone) call() {
	fmt.Println("nokia phone call")
}

type IPhone struct {
}

func (phone IPhone) call() {
	fmt.Println("iphone phone call")
}

func main() {


	var nokiaPhone, iPhone Phone

	nokiaPhone = new(NokiaPhone)
	iPhone = new(IPhone)
	
	nokiaPhone.call()
	iPhone.call()

}

输出结果

go语言基础之面向接口编程示例_iphone