Go中interface嵌入和interface转换

栏目: Go · 发布时间: 7年前

// code_22_interface_field_interface project main.go
package main

import (
    "fmt"
)

type Humaner interface {
    SayHi()
}

type Personer interface {
    Humaner
    Sing(lyrics string) //lyrics 歌词
}

type Student struct {
    name  string
    score float64
}

func (s *Student) SayHi() {
    fmt.Printf("Student[%s, %f]say hi!\n", s.name, s.score)
}

func (s *Student) Sing(lyrics string) {
    fmt.Printf("Student sing[%s]!!\n", lyrics)
}

func main() {
    s := &Student{"ck_god", 88.88}

    var i2 Personer
    i2 = s //接口指向struct对象
    i2.SayHi()
    i2.Sing("god is a girl")

    //var i3 Humaner = &Student{"ck_god", 88.88}
    //var i4 Personer = i1 //err
    //Personer为超集,Humaner为子集
    var i5 Personer = &Student{"ck_god", 88.88}
    var i6 Humaner = i5
    i6.SayHi()

}

//总结:通过赋值或者参数传递的形式,完成接口的调用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创投42章经

创投42章经

曲凯 / 中信出版集团 / 2018-10-20 / 58.00

《创投42章经》是拥有百万粉丝的微信公众号“42章经”的精选文章合集,全书共分为心法、内功、招式和江湖传奇四部分。 在心法部分,读者可以学到一些创业与投资的底层思维方式;在内功部分,读者可以了解到,投资人看待一家公司经营状况的标准;在招式部分,读者可以看到作者作为一名资深投资人和睿智的观察者,对过去几年主要的公司、模式以及风口的判断;最后的江湖传奇部分,作者通过一些故事,帮助读者更好地理解当......一起来看看 《创投42章经》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具