Следующее работает как функция для открытия файла
func openFile(filename string) {
var file *os.File
var err error
if file, err = os.Open(filename); err != nil {
log.Printf("Failed to open the file: %s.", filename)
return
}
defer file.Close()
// blahblahblah
}
однако это не работает, когда я пытаюсь использовать: = для объявления файла переменной
func updateFrequencies(filename string, frequencyForWord map[string]int) {
if file, err := os.Open(filename); err != nil {
....
}
}
error:./word_frequencies_2.go:30: undefined: файл
Но если бы я немного изменил это, это работает
file, err := os.Open(filename)
if err != nil {
log.Printf("Failed to open the file: %s.", filename)
return
}
почему я не могу использовать: = как часть инструкции if?