,我目前正在学习 Go,我很感激人们对如何最好地减少重复代码量的见解。,相关部分的文件夹结构是这样的:,在我的
specations
文件夹中,我有 2 个“存储”接口:,store/postgres
文件夹包含任务和标签(存储库模式)的实现。,我看到的问题:,在我的 handlers
文件夹中,我有一个结构体,它接受存储接口之一的输入:,这些处理程序包含将映射到 api 路径的方法:,您会注意到每个处理程序上的 List
方法基本相同,但每个商店使用的接口除外。,如何更改此设置以减少重复代码?,我最初认为我可以使用泛型来解决这个问题,例如:,但这意味着将每种类型映射到处理程序中,我认为这不是一个实用的解决方案。,关于如何更好地映射我的 DTO 和接口有什么建议吗?,你可以有一个辅助函数,然后你就会有,