PrintConfig() {
                  
                  
                   fmt.Println(Config.ServerQuery.Host)
                  
                  
                  }
                  
                  
                  
                  
                  
                  func main() {
                  
                  
                   // CONFIG FILE READING
                  
                  
                   var configFilePath = "./config.yml"
                  
                  
                   var Config = new(ConfigFile)
                  
                  
                  
                  
                  
                   file, err := os.Open(configFilePath)
                  
                  
                   if err != nil {
                  
                  
                    log.Fatal(err)
                  
                  
                   }
                  
                  
                  
                  
                  
                   yamlByte, err := ioutil.ReadAll(file)
                  
                  
                   if err != nil {
                  
                  
                    log.Fatal(err)
                  
                  
                   }
                  
                  
                  
                  
                  
                   if err = yaml.Unmarshal(yamlByte, Config); err != nil {
                  
                  
                    log.Fatal(err)
                  
                  
                   }
                  
                  
                  
                  
                  
                   // END OF CONFIG READING
                  
                  
                  
                  
                  
                   fmt.Println(Config.ServerQuery.Host)
                  
                  
                   PrintConfig()
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  При go build пишет:
                  
                  
                  
                  
                  
                  ./main.go:35:14: undefined: Config
                  
                  
                  
                  
                  
                  Указывая именно на функцию PrintConfig()
                  
                  
                  
                  
                  
                  Но если комментирую эту функцию и ее вызов, то все компилится и из мейна выводится принт с правильным значением из файла.
                  
                  
                
Config не глобальная, а очень даже локальная переменная. Передавайте её аргументом
Обсуждают сегодня