go语言之接口

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

  

你不能把坏习惯扔出窗外 但你可以一步步赶下电梯
原文地址:https://www.cnblogs.com/Ychao/p/14652918.html