我有这个代码:

type TestData struct {
    Key string
}

type TemporaryStoreItem struct {
    key string
    data interface{}
    aliveUntil time.Time
}

func (s *TemporaryStoreItem) SetData(src interface{}) {
    src = s.data
}

data := TestData{
    Key: "value",
}

item := TemporaryStoreItem{
    key:     "item1",
    data:    data,
    aliveUntil: time.Now(),
}
oldItem := TestData{}
item.SetData(&oldItem)


我需要在TemporaryStoreItem的“数据”字段中保存任何数据或指向数据的指针,并且我需要以TestData结构(或任何其他源结构)获取数据,我做错了什么,并且有可能实现此想法吗?

最佳答案

func (s *TemporaryStoreItem) Data()interface{} {
    return s.data
}
data := TestData{
    Key: "TestData",
}

item := TemporaryStoreItem{
    key:     "item1",
    data:    data,
    aliveUntil: time.Now(),
}
oldItem := item.Data()
fmt.Println(oldItem)

10-02 10:42