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() }