以下作为打开文件的函数
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 语句的一部分?