Go 函數類型返回介面實現的結構
考慮一個場景,其中包含一個包含耗時方法和工廠的包中的結構功能。為了有效地測試這個結構,最好在創建後同時使用一個假工廠函數和一個假結構。
以下程式碼舉例說明了這一點:
在依賴套件中,我們介面像這樣:
但是,這段程式碼會引發一個錯誤:
儘管*expense.myStruct 實作了myInterface,Go仍然抱怨類型安全。
根據Go 團隊的說法,這種行為是故意的:
解決方案是包裝工廠函數:
這個包裝器遵循myInterface 並且程式碼可以編譯。
以上是Go 函數類型傳回結構如何用於介面實作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!