閱讀規範和他們的「Effective Go」部分後,我仍然不太明白Go中的接口是如何工作的。界面在Go中的工作原理是什麼?
像,你在哪裏定義它們?界面實施如何工作?有沒有一種方法來指定某個對象實現接口的地方,而不是簡單地在接口中定義方法?
對於初學者問題的道歉;但我真的很難理解這一點。
閱讀規範和他們的「Effective Go」部分後,我仍然不太明白Go中的接口是如何工作的。界面在Go中的工作原理是什麼?
像,你在哪裏定義它們?界面實施如何工作?有沒有一種方法來指定某個對象實現接口的地方,而不是簡單地在接口中定義方法?
對於初學者問題的道歉;但我真的很難理解這一點。
基本上,你定義一個接口這樣的:
type InterfaceNameHere interface {
MethodA(*arg1, *arg2)
MethodB(*arg3)
}
即特定的接口定義要求的任何一個實現了接口同時具有MethodA
方法,該方法需要兩個參數,以及MethodB
方法,該方法1級的說法。
一旦你定義了它,Go會自動檢查你什麼時候嘗試使用某個需要某個接口的東西,無論你使用的是否滿足該接口。您不必明確說明給定的事物滿足給定的接口,只是在您希望滿足它的場景中嘗試使用某些內容時自動進行檢查。
雖然你把類型'InterfaceType接口{...}'放在哪裏?在你的'main'包中? – 2010-06-27 06:56:04
無論您打算如何使用它 - 範圍界定的工作方式與其他任何操作一樣。 – Amber 2010-06-27 07:02:13
非常感謝,琥珀。 :) – 2010-06-27 07:24:21
這些帖子非常好。感謝其他資源。 – 2010-06-27 07:24:44
希望你喜歡Go。也有很多質量保證部門也在非常活躍的郵件列表中。 – 2010-06-27 07:28:44