写文件
  os模块可以创建文件,使用fmt可以写入文件。如以下例子:
package main
import (
"fmt"
"os"
)
func main() {
// 学习 golang的文件操作
file, err := os.Create("test.txt")
if err != nil {
fmt.Println("文件创建失败", err)
}
_, err = fmt.Fprintln(file, "hello world")
if err != nil {
return
}
err = file.Close()
if err != nil {
fmt.Println("文件关闭失败", err)
}
}
读文件
读文件可以用bufio模块,利用Scanner进行逐行读取。如以下例子:
go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// WriteFile()
file, err := os.Open("test.txt")
if err != nil {
fmt.Println(err) // 文件打开失败
}
defer func(file *os.File) {
err := file.Close()
if err != nil {
fmt.Println(err)
}
}(file)
scanner := bufio.NewScanner(file)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
fmt.Println(err) // 读取文件失败
}
}