gpt4 book ai didi

go - 需要在 Golang 中使用 Reflect 构造接口(interface)/指针,不工作

转载 作者:IT王子 更新时间:2023-10-29 01:54:52 25 4
gpt4 key购买 nike

所以,这是可行的:

house := model.House {};
err = db.First(&house).Error;

但是,这不起作用:

var house model.House;

fetchFromDatabase := reflect.New(reflect.TypeOf(house)).Interface();
err = db.First(&fetchFromDatabase).Error;

... 数据库库报错:

unsupported destination, should be slice or struct

对我来说,考虑到“House”类型是一个结构,那应该是一个结构。但是,我仍然在思考 Reflect ...有人能帮忙吗?

最佳答案

库正在提示,因为应用程序正在将 *interface{} 传递给该方法。值 fetchFromDatabase 是一个指向结构的指针。将此值直接传递给方法:

var house model.House
fetchFromDatabase := reflect.New(reflect.TypeOf(house)).Interface()
err = db.First(fetchFromDatabase).Error

关于go - 需要在 Golang 中使用 Reflect 构造接口(interface)/指针,不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com