【发布时间】:2021-09-15 16:41:22
【问题描述】:
我的存储库层中有一个函数应该返回一个指针片段,但代码不能正常工作。
var books []model.Book
func GetBooksByGenre(genre string) []*model.Book {
var response []*model.Book
for _, ele := range books {
if ele.Genre == genre {
response = append(response, &ele)
}
}
return response
}
我正在尝试遍历书籍列表,最后根据与输入类型匹配的书籍的genre 返回一个指针片段。
我调试并发现问题是由于 ele 得到更新并弄乱了 var response 中的现有指针
问题是,如果有 3 本书按照 genre 的顺序插入为 comedy、thriller 和 drama,并且如果 GetBooksByGenre 以 genre 为 @ 调用987654330@ 或 thriller,然后输出为 drama,因为这是我迭代列表时的最后一个条目。
我该如何解决这个问题?
【问题讨论】: