39 lines
847 B
Go
39 lines
847 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
// 打开文件,支持读写+创建+清空
|
|
file, err := os.OpenFile("io/writer.txt", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644)
|
|
if err != nil {
|
|
fmt.Printf("打开文件失败: %v\n", err)
|
|
return
|
|
}
|
|
defer file.Close()
|
|
|
|
// 待写入数据
|
|
content := "Go IO Writer 流式写入最佳实践\n支持流式、高性能、可扩展写入"
|
|
data := []byte(content)
|
|
|
|
// 1. 基础Write写入
|
|
n, err := file.Write(data)
|
|
if err != nil {
|
|
fmt.Printf("写入失败: %v\n", err)
|
|
return
|
|
}
|
|
fmt.Printf("基础写入长度: %d\n", n)
|
|
|
|
// 2. 使用io.WriteString工具方法写入
|
|
_, err = io.WriteString(file, "\n补充内容:io.Writer是Go IO核心抽象")
|
|
if err != nil {
|
|
fmt.Printf("字符串写入失败: %v\n", err)
|
|
return
|
|
}
|
|
|
|
fmt.Println("io.Writer 流式写入完成")
|
|
}
|