第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法將結(jié)構(gòu)指針?lè)峙浣o接口指針

無(wú)法將結(jié)構(gòu)指針?lè)峙浣o接口指針

Go
慕斯709654 2023-06-05 17:03:56
結(jié)構(gòu)體Dog實(shí)現(xiàn)了接口的所有方法Animal,為什么*Dos不能賦值給*Animal?type Animal interface {    run()}type Dog struct {    name string}func (d *Dog) run() {    fmt.Println( d.name , " is running")}func main(){    var d *Dog    var a *Animal    d = new(Dog)    d.run()    a = d   //errors here}Go 通知以下錯(cuò)誤:Cannot use 'd' (type *Dog) as type *Animal in assignment
查看完整描述

3 回答

?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

具有接口類型的變量已經(jīng)是指針;您不需要將其聲明為指向接口的指針。只要做var a Animal,它就會(huì)起作用。



查看完整回答
反對(duì) 回復(fù) 2023-06-05
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

您必須從界面中刪除指針。



//Animal interface

type Animal interface {

    run()

}


//Dog struct

type Dog struct {

    name string

}


func (d *Dog) run() {

    fmt.Println(d.name, "is running")

}


func main() {

    var d *Dog

    var a Animal


    d = new(Dog)

    d.name = "Putty"

    d.run()

    a = d //errors here

    a.run()

}


查看完整回答
反對(duì) 回復(fù) 2023-06-05
?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

Dog是一種類型,所以*Dog是。

Dog不實(shí)現(xiàn)接口Animal,但是*Dog實(shí)現(xiàn)了。

所以var a Animal = new(Dog)沒(méi)關(guān)系。


查看完整回答
反對(duì) 回復(fù) 2023-06-05
  • 3 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)