我正在編寫一個函數,該函數從數據庫中檢索任意數據,并返回帶有結果的結構片段。數據結構由用戶在 ItemFactory 中定義。然后用戶在工廠上實現方法,創建空結構:func (t Example) GenerateEmptyItem() interface{} {
return &Example{}
}我正在嘗試對Example. 我需要能夠使用返回的任何內容來調用諸如 之類的函數len(),同時保持它的通用性以允許它由“通用”函數返回。我不能簡單地擁有這樣的東西,因為接口切片的底層數據分配與示例切片不同:func (t Country) GenerateEmptyItems() []interface{} {
return []Country{} //Error
}是否可以使用指向切片的指針,例如&[]Example{}并將其作為 傳遞interface{},然后仍然可以將其用作切片?還是我做錯了?請記住,我不知道編譯時數據的類型,所以我不能簡單地強制轉換。我感謝任何幫助。如果我能澄清任何事情,請告訴我。
在 Go 中傳遞任意切片
慕田峪7331174
2023-05-15 14:29:42