go的接口结构体
点击查看代码
package main
import "fmt"
type Car interface {
GetName() string
Run()
DiDi()
}
type BMW struct {
Name string
}
func (bmw *BMW) GetName() string {
return bmw.Name
}
func (bmw *BMW) Run() {
fmt.Printf("%s is run.\n", bmw.GetName())
}
func (bmw *BMW) DiDi() {
fmt.Printf("DiDi from %s.\n", bmw.GetName())
}
func main() {
var car Car // 接口car
var bmw BMW // 结构体 BMW的实例化对象bmw
bmw.Name = "BMW" // 对象bmw的名字
car = &bmw // 对象赋值给接口
car.Run() // 接口调用方法
}
写入自己的博客中才能记得长久

浙公网安备 33010602011771号