jjzjj

GetFirstItem

全部标签

reflection - 使用 gorm 库进行反射(reflect)

我在golang中使用gorm包(https://github.com/jinzhu/gorm)作为我的数据库库。我有很多类(数据库表),如“酒店”或“套餐”。复制代码不是好的编程习惯。作为一个愚蠢的例子-假设我想从每个表中获取第一个对象。我可以为每个对象编写此方法(GetFirstHotel、GetFirstPackage...)。但更好的方法是只有一个方法GetFirstItem,我会使用第一个参数创建与参数具有相同类的对象,然后将它传递给gorm,gorm将用数据库中的数据填充它,然后将其作为interface{}返回。我尝试为此使用反射,但失败了,因为我可能不太了解它。也许我只