面试题答案
一键面试- 基本步骤:
- 打开要读取的文件。
- 读取文件内容。
- 如果读取失败,记录详细错误日志到指定日志文件。
- 关闭文件。
- 关键代码示例:
package main
import (
"fmt"
"io/ioutil"
"log"
)
func readFile(filePath string, logFilePath string) {
data, err := ioutil.ReadFile(filePath)
if err != nil {
// 记录错误日志
logFile, err := log.OpenFile(logFilePath, log.LstdFlags, 0644)
if err != nil {
fmt.Printf("无法打开日志文件: %v\n", err)
return
}
defer logFile.Close()
logger := log.New(logFile, "", log.LstdFlags)
logger.Printf("读取文件 %s 失败: %v\n", filePath, err)
return
}
fmt.Printf("文件内容: %s\n", data)
}
你可以使用以下方式调用这个函数:
func main() {
readFile("test.txt", "error.log")
}