我正在构建一个数据以保存到 mongodb。我有一个来自这样的 API 的 json 响应
{
coord: { lon: 20, lat: 30 }
main:
[
{"temp":304.15,"pressure":1005,"humidity":74,"temp_min":304.15,"temp_max":304.15}
]
}
在 main[0].temp、main[0].temp_min、main[0].temp_max 中,值以开尔文为单位。我想在将其保存为 mongodb 之前将其转换为摄氏温度。
我可以像这样制作一个简单的结构:
type Item struct {
Temp string
Pressure int
Humidity int
Temp_min string
Temp_max string
}
但我想在保存之前在 Temp、Temp_min 和 Temp_max 中进行转换。有没有其他方法而不是将其分配给变量,然后重新分配?这可以在界面中完成吗?
我仍然不擅长 Go,但我正在学习,同时用 Go 构建一个 webapp。
最佳答案
你如何初始化你的结构?
如果您有权访问它的值,则可以在结构初始化期间转换它,如下所示:
func NewItem() *Item {
return &Item{convertToCelsius(temp), pressure, humidity convertToCelsius(tempMin), convertToCelsius(tempMax)}
}
关于struct - 在结构或接口(interface)内部执行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584651/