[英]Passing arbitrary slices in Go
我正在編寫一個函數,該函數從數據庫中檢索任意數據,並返回包含結果的結構片段。 數據結構由用戶在ItemFactory中定義。 然后,用戶在工廠上實現創建空結構的方法:
func (t Example) GenerateEmptyItem() interface{} {
return &Example{}
}
我試圖對Example
片段執行相同的Example
。 我需要能夠使用返回的任何內容來調用len()
函數,同時保持其通用性,以允許其由“通用”函數返回。
我不能簡單地擁有這樣的東西,因為對一片接口的基礎數據分配與一系列示例不同:
func (t Country) GenerateEmptyItems() []interface{} {
return []Country{} //Error
}
是否可以使用指向切片的指針,例如&[]Example{}
並將其作為interface{}
傳遞,然后仍然可以將其用作切片? 還是我要解決這個錯誤?記住,我在編譯時不知道數據的類型,所以我不能簡單地進行轉換。
感謝您的幫助。 讓我知道是否可以澄清任何事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.