github.com/jinzhu/gorm和gorm.io/gorm有什么区别?
我在使用 Go 进行应用程序开发,我使用 gorm 库连接到数据库。我看到 gorm 有 2 个库github.com/jinzhu/gorm和gorm.io/gorm.
我不知道该用哪个。它们有何不同?
回答
Gorm 版本 1 一直到 v1.9.16 被保留在github.com/jinzhu/gorm并从您的代码中导入它,您将使用该路径:
import (
...
"github.com/jinzhu/gorm"
)
Go 约定是当一个新的包版本不再向后兼容时,导入路径应该改变,所以当发布版本 2 时,团队决定将 repo 移动到 github: 上的一个新组织https://github.com/go-gorm/gorm,并且这个新版本被导入到你的代码使用gorm.io/gorm:
import (
...
"gorm.io/gorm"
)
(请记住,由于 go 生态系统中的怪癖,v2 被标记为 >= v1.20.0,我知道这很混乱!)
Gorm v2 在语法和功能上通常与 v1 非常接近,但更强大、更一致并且已经消除了大量错误。我还没有看到基准测试,但由于使用了准备好的语句,它的性能也应该更高。
总而言之,没有理由不在新项目中使用 v2,并且有很多理由在现有项目中从 v1 迁移。
THE END
二维码