接口類型使用

參考:https://time.geekbang.org/column/article/18037?utm_source=weibo&utm_medium=xuxiaoping&utm_campaign=promotion&utm_content=columnside

接口類型與其餘數據類型不一樣,它是無法被實例化的。更具體地說,咱們既不能經過調用new函數或make函數建立出一個接口類型的值,也沒法用字面量來表示一個接口類型的值。接口類型聲明中的這些方法所表明的就是該接口的方法集合。一個接口的方法集合就是它的所有特徵。函數

怎樣斷定一個數據類型的某一個方法實現的就是某個接口類型中的某個方法呢?
有兩個充分必要條件,一個是「兩個方法的簽名須要徹底一致」,另外一個是「兩個方法的名稱要如出一轍」。顯然,這比判斷一個函數是否實現了某個函數類型要更加嚴格一些。接口

對於任何數據類型,只要它的方法集合中徹底包含了一個接口的所有特徵(即所有的方法),那麼它就必定是這個接口的實現類型。這種方式還有一個專有名詞,叫「Duck typing」,中文常譯做「鴨子類型」get

相關文章
相關標籤/搜索