package main
import "fmt"
type IFly interface {
Fly()
}
type Bird struct {
name string
location string
}
func (b *Bird) Fly() {
fmt.Println("bird fly")
}
func main() {
//内建函数 new 用来分配内存,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配类型零值的指针
//虽然Bird类型实现的时候,没有声明与接口IFly的关系,但接口和类型可以直 接转换
var fly IFly = new(Bird)
fly.Fly()
}