Go中interface嵌入和interface轉(zhuǎn)換

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

}

//總結(jié):通過賦值或者參數(shù)傳遞的形式,完成接口的調(diào)用。

當(dāng)前文章:Go中interface嵌入和interface轉(zhuǎn)換
轉(zhuǎn)載注明:http://bm7419.com/article34/psdcse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊微信公眾號(hào)、商城網(wǎng)站、網(wǎng)站排名、搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)