阅读背景:

Go语言6-接口、反射

来源:互联网 

接口

接着上次的继续讲接口,先回顾一下接口的用法:

package main

import "fmt"

// 定义接口
type Car interface {
    GetName() string
    Run()
}

// 定义结构体
type Tesla struct {
    Name string
}

// 实现接口的GetName()方法
func (t *Tesla) GetName() string {
    return t.Name
}

// 实现接口的Run()方法
func (t *Tesla) Run() {
    fmt.Printf("%s is running\n", t.Name)
}

func main() {
    var c Car
    var t Tesla = Tesla{"Tesla Model S"}
    c = &t  // 上面是用指针*Tesla实现了接口的方法,这里要传地址
    /*  或者在定义的时候,就定义结构体指针
    var t *Tesla = &Tesla{"Tesla Model X"}
    c = t
    */
    fmt.Println(c.GetName())
    c.Run()
}package main

impo



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: