以下是一个打开文件的函数:
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
}
然而,当我尝试使用:=来声明变量file时,这种方法不起作用。
func updateFrequencies(filename string, frequencyForWord map[string]int) {
if file, err := os.Open(filename); err != nil {
....
}
}
错误:./word_frequencies_2.go:30行:未定义:file
但是,如果我稍微改变一下,这个就可以工作了。
file, err := os.Open(filename)
if err != nil {
log.Printf("Failed to open the file: %s.", filename)
return
}
为什么我不能在if语句中使用:=?