следующие работы в качестве функции, чтобы открыть файл: оператор = и если оператор в Golang
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 {
....
}
}
ошибка: ./word_frequencies_2.go:30 не определено: файл
Но если это изменилось немного, это работает
file, err := os.Open(filename)
if err != nil {
log.Printf("Failed to open the file: %s.", filename)
return
}
Почему я не могу использовать: = как часть инструкции if?