首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
)
|
||||
|
||||
func fileOperation() error {
|
||||
// 1. 打开文件错误处理
|
||||
file, err := os.OpenFile("file/data.log", os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0644)
|
||||
if err != nil {
|
||||
// 包装错误,添加上下文
|
||||
return fmt.Errorf("打开文件失败: %w", err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
if closeErr := file.Close(); closeErr != nil {
|
||||
fmt.Printf("警告:文件关闭异常: %v\n", closeErr)
|
||||
}
|
||||
}()
|
||||
|
||||
// 2. 写入数据错误处理
|
||||
content := []byte("Go文件操作最佳实践")
|
||||
n, err := io.WriteString(file, string(content))
|
||||
if err != nil {
|
||||
return fmt.Errorf("文件写入失败: %w", err)
|
||||
}
|
||||
if n != len(content) {
|
||||
return errors.New("文件写入不完整")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func main() {
|
||||
if err := fileOperation(); err != nil {
|
||||
fmt.Printf("文件操作执行失败: %v\n", err)
|
||||
return
|
||||
}
|
||||
fmt.Println("文件操作成功")
|
||||
}
|
||||
Reference in New Issue
Block a user