如何在Go中传递嵌套结构

如何在Go中传递嵌套结构,go,struct,Go,Struct,一个小的2文件应用程序,读取配置文件并将其存储在结构中。如何将配置结构的一部分传递给fetchTemperature函数 配置 主要 给我: 无法将t类型结构{configuration.Temperature}用作fetchTemperature的参数中的类型配置.Temperature 不是配置。温度,如果不是,我如何传递结构 t是配置温度[i]。对于匿名结构{Temperature}中的温度,写入t.Temperature以从结构中选择字段 比如说, package main impor

一个小的2文件应用程序,读取配置文件并将其存储在结构中。如何将配置结构的一部分传递给fetchTemperature函数

配置

主要

给我:

无法将t类型结构{configuration.Temperature}用作fetchTemperature的参数中的类型配置.Temperature

不是配置。温度,如果不是,我如何传递结构

t是配置温度[i]。对于匿名结构{Temperature}中的温度,写入t.Temperature以从结构中选择字段

比如说,

package main

import "configuration"

var c configuration.Config = configuration.Load()

func main() {
    for _, t := range c.Temperatures {
        fetchTemperature(t.Temperature)
    }
}

func fetchTemperature(t configuration.Temperature) {
    //  -- 8< -- snip -- 8< --
}
Temperatures是匿名结构{configuration.Temperature}类型的切片

你可能想要的是

type Config struct {
    Temperatures []Temperature
}

温度是类型配置的一部分。温度。

谢谢,确实有效。不知道为什么。我明白为什么我可以做t.AppId,但是t.Temperature不是嵌套的,t是一个温度,或者我没有得到正确的答案?@Cimm:请参阅我修改后的答案以获得解释。完美的答案!谢天谢地!
type Config struct {
    Temperatures []struct {
        Temperature
    }
}
package main

import "configuration"

var c configuration.Config = configuration.Load()

func main() {
    for _, t := range c.Temperatures {
        fetchTemperature(t.Temperature)
    }
}

func fetchTemperature(t configuration.Temperature) {
    //  -- 8< -- snip -- 8< --
}
type Config struct {
    Temperatures []struct {
        Temperature
    }
}
type Config struct {
    Temperatures []Temperature
}