1. 文本操作
在 Go 中,处理文本文件通常涉及到读取和写入操作。可以使用标准库中的 bufio
和 os
包来完成这些操作。
读取文本文件
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
fmt.Println(err)
}
}
写入文本文件
package main
import (
"os"
)
func main() {
file, err := os.Create("output.txt")
if err != nil {
panic(err)
}
defer file.Close()
text := "Hello, Golang!\n"
_, err = file.WriteString(text)
if err != nil {
panic(err)
}
}
2. 文件操作
创建和删除文件
package main
import (
"os"
)
func main() {
// 创建文件
file, err := os.Create("newfile.txt")
if err != nil {
panic(err)
}
defer file.Close()
// 删除文件
err = os.Remove("newfile.txt")
if err != nil {
panic(err)
}
}
重命名文件
package main
import (
"os"
)
func main() {
err := os.Rename("oldname.txt", "newname.txt")
if err != nil {
panic(err)
}
}
3. 文件夹操作
创建和删除文件夹
package main
import (
"os"
)
func main() {
// 创建文件夹
err := os.Mkdir("newdir", 0755) // 0755 为文件夹权限
if err != nil {
panic(err)
}
// 删除文件夹
err = os.Remove("newdir")
if err != nil {
panic(err)
}
}
列出文件夹中的内容
package main
import (
"fmt"
"os"
)
func main() {
files, err := os.ReadDir(".") // 读取当前目录
if err != nil {
panic(err)
}
for _, file := range files {
fmt.Println(file.Name())
}
}