【问题标题】:ERROR reflect.ValueOf(val).IsZero undefined (type reflect.Value has no field or method IsZero错误 reflect.ValueOf(val).IsZero 未定义(类型 reflect.Value 没有字段或方法 IsZero
【发布时间】:2021-02-22 15:53:27
【问题描述】:

我想在我的代码中使用gorm,但是当我运行go run *.go 时,我看到了这个错误,很遗憾。

/var/www/html/src/gorm.io/gorm/utils/utils.go:46:30: reflect.ValueOf(val).IsZero undefined (type reflect.Value has no field or method IsZero)

这是我的代码:

package main

import (
    "gorm.io/gorm"
    "gorm.io/driver/sqlite"
)

type Product struct {
    gorm.Model
    Code  string
    Price uint
}

func main() {
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
if err != nil {
    panic("failed to connect database")
}

// Migrate the schema
db.AutoMigrate(&Product{})

// Create
db.Create(&Product{Code: "D42", Price: 100})
}

【问题讨论】:

  • 能否请您分享堆栈跟踪以便更好地理解
  • 不相关,但您永远不应该使用go run *.go 运行项目。请参阅golang.org/doc/code.html 以开始使用。
  • @jimB 谢谢。是的,但我只是想调试代码

标签: go reflection go-gorm


【解决方案1】:

在 Go 1.13 中添加了 Value.IsZero() 方法。如果您的代码依赖此“功能”,则必须使用 Go 1.13 或更高版本。

您可以通过运行 go version 来检查您的 go 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2021-12-13
    • 2017-09-21
    相关资源
    最近更新 更多