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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用作接口的復(fù)合文字的地址

用作接口的復(fù)合文字的地址

Go
繁華開滿天機 2021-10-25 20:07:57
當(dāng)用作接口時,復(fù)合文字的地址被評估為文字本身。有人可以指出參考規(guī)范中處理此問題的部分嗎?package mainimport "fmt"type ntfc interface {    rx() int}type cncrt struct {    x int}func (c cncrt) rx() int{    return c.x}func rtrnsNtfca() ntfc {    return &cncrt{3}}func rtrnsNtfc() ntfc {    return cncrt{3}}func rtrnsCncrt() *cncrt {    return &cncrt{3}}func main() {    fmt.Println(rtrnsNtfca().rx())    fmt.Println(rtrnsNtfc().rx())    fmt.Println(rtrnsCncrt().rx())}也在這里。對于將來的參考,是否可以只鏈接到操場而不在此處包含代碼?
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

規(guī)格:方法集:


一個類型可能有一個與之關(guān)聯(lián)的方法集。接口類型的方法集就是它的接口。任何其他類型的方法集T由所有聲明為接收者類型的方法組成T。對應(yīng)指針類型 *T的方法集是所有用receiver *Tor聲明T的方法的集合(也就是包含了的方法集T)。


因此 的方法集*cncrt包括 的方法集cncrt。由于rx()是cncrt的方法集的元素,因此它也將是 in*cncrt的方法集。這意味著cncrt和*cncrt類型都實現(xiàn)了ntfc接口。


如果您有一個指針值 ( *cncrt) 并調(diào)用rx()它,則該指針將自動取消引用,該指針將成為該rx()方法的接收者。


在您的rtnsNtfca()和rtnsNtfc()函數(shù)中,ntfc將自動創(chuàng)建并返回一個接口值。Go 中的接口值表示為 (type;value) 對(更多詳細信息:反射定律#接口的表示)。因此,無論rtnsNtfca()與rtnsNtfc()返回一個接口值,但第一個持有類型的動態(tài)值*cncrt和后者之一成立類型的動態(tài)值cncrt。


并且您的第三個方法rtrnsCncrt()返回一個具體類型 ( *cncrt),那里不涉及接口包裝。


注意:“反過來”


規(guī)格: 調(diào)用:


Ifx是可尋址的并且&x的方法集包含m,x.m()是 的簡寫(&x).m()。


這意味著如果你聲明rx()了一個指針接收器,并且你有一個類型的變量cncrt(注意:不是指針),rx()如果它是可尋址的,你仍然可以調(diào)用它的方法,并且地址將被自動獲取并用作收件人。


查看完整回答
反對 回復(fù) 2021-10-25
  • 1 回答
  • 0 關(guān)注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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