首頁 >後端開發 >Golang >Go 函數類型傳回結構如何用於介面實作?

Go 函數類型傳回結構如何用於介面實作?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-05 09:12:14975瀏覽

How Can Go Function Types Returning Structs Be Used for Interface Implementations?

Go 函數類型返回介面實現的結構

考慮一個場景,其中包含一個包含耗時方法和工廠的包中的結構功能。為了有效地測試這個結構,最好在創建後同時使用一個假工廠函數和一個假結構。

以下程式碼舉例說明了這一點:

在依賴套件中,我們介面像這樣:

但是,這段程式碼會引發一個錯誤:

儘管*expense.myStruct 實作了myInterface,Go仍然抱怨類型安全。

根據Go 團隊的說法,這種行為是故意的:

解決方案是包裝工廠函數:

這個包裝器遵循myInterface 並且程式碼可以編譯。

以上是Go 函數類型傳回結構如何用於介面實作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn