#go #reflection #go-gorm
#Вперед #отражение #go-gorm
Вопрос:
Я хочу использовать 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"), amp;gorm.Config{})
if err != nil {
panic("failed to connect database")
}
// Migrate the schema
db.AutoMigrate(amp;Product{})
// Create
db.Create(amp;Product{Code: "D42", Price: 100})
}
Комментарии:
1. Не могли бы вы поделиться трассировкой стека для лучшего понимания
2. Не связан, но вы никогда не должны запускать проект
go run *.go
. См . golang.org/doc/code.html для начала.3. @JimB спасибо. Да, но я просто хотел отладить код
Ответ №1:
Value.IsZero()
Метод был добавлен в Go 1.13. Вы должны использовать Go 1.13 или более позднюю версию, если ваш код полагается на эту «функцию».
Вы можете проверить свою версию go, выполнив go version
.