2 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
包os
不導(dǎo)入包,io
因?yàn)?code>io.Reader接口沒(méi)有在包中使用os
。
該類型*File
碰巧實(shí)現(xiàn)了,io.Reader
因?yàn)樗幸粋€(gè)Read
具有正確簽名的方法。這個(gè)實(shí)現(xiàn)關(guān)系是隱式的,既不需要也不可能使這個(gè)顯式(例如在 Java 中使用implements ISomeThing
)。
你問(wèn):“這是否意味著接口根本不需要導(dǎo)入就可以使用?” 正式的答案是:當(dāng)然不是!如果你想使用io.Reader
你必須import "io"
。
但是實(shí)現(xiàn)/滿足一個(gè)接口并不是對(duì)這個(gè)接口的使用:任何類型都可以通過(guò)擁有正確的方法來(lái)實(shí)現(xiàn)任何接口(即使是未來(lái)尚未發(fā)明的接口)。

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
導(dǎo)出的實(shí)體是常量、變量和類型。使用它們,即。要引用這樣的導(dǎo)出實(shí)體,必須使用它們的 [qualified] 名稱,而限定符是導(dǎo)出它們的包的基本名稱。這也意味著使用此類包的導(dǎo)入語(yǔ)句。IOW,在文件范圍內(nèi)綁定導(dǎo)出的實(shí)體是 [嚴(yán)格]顯式的。沒(méi)有導(dǎo)入 == 無(wú)法訪問(wèn)導(dǎo)出的東西。
OTOH,實(shí)現(xiàn)接口被指定為隱式:
一個(gè)類型實(shí)現(xiàn)了包含其方法的任何子集的任何接口,因此可以實(shí)現(xiàn)幾個(gè)不同的接口。例如,所有類型都實(shí)現(xiàn)空接口:
interface{}
- 2 回答
- 0 關(guān)注
- 271 瀏覽
添加回答
舉報(bào)