在struct或interface中执行计算?

时间:2014-07-05 08:48:37

标签: struct interface go

我正在构建一个数据以保存到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。

1 个答案:

答案 0 :(得分:1)

如何初始化您的结构?

如果您可以访问它的值,您可以在结构初始化期间进行转换,如下所示:

func NewItem() *Item {
    return &Item{convertToCelsius(temp), pressure, humidity convertToCelsius(tempMin), convertToCelsius(tempMax)}
}