我使用Go进行应用程序开发,并使用gorm库连接到数据库。我看到gorm有两个库github.com/jinzhu/gorm和gorm.io/gorm。
我不知道该用哪一个。它们有什么不同?
发布于 2021-01-29 20:29:03
Gorm版本1到v1.9.16保存在github.com/jinzhu/gorm中,要从您的代码中导入它,您将使用该路径:
import (
...
"github.com/jinzhu/gorm"
)Go约定是,当新的包版本不再向后兼容时,导入路径应该改变,所以当发布版本2时,团队决定将存储库移动到github:https://github.com/go-gorm/gorm上的新组织,然后使用gorm.io/gorm将这个新版本导入到您的代码中
import (
...
"gorm.io/gorm"
)(请记住,由于go生态系统中的怪癖,v2一直被标记为>= v1.20.0,令人困惑的是,我知道!)
Gorm v2在语法和功能上通常与v1非常接近,但更强大、更一致,并且已经消除了大量错误。我还没有看到基准测试,但从盒子里看,由于使用了准备好的语句,它的性能也会更好。
总而言之,在新项目中没有理由不使用v2,在现有项目中有很多理由不使用v1。
发布于 2021-01-29 15:58:41
实际上它是一个相同的repo,但是金柱将GormV2移到了新的repo(https://github.com/go-gorm/gorm或gorm.io/gorm)。在我看来,我们应该使用update lib github.com/go-gorm/gorm
发布于 2021-11-15 14:58:21
我建议不要使用github.com/jinzhu/gorm。使用gorm.io/gorm,由于我在使用旧版本时的经验,有时会出现错误
https://stackoverflow.com/questions/65950373
复制相似问题