50、Go语言基础 - IO编程 - 文件系统
hi,我是温新
os 包
os 包是 Go 标准库中的一个核心包,提供了用于操作操作系统功能的函数和类型。这个包允许你访问文件系统、执行系统命令、管理进程、环境变量等。
os 包相关组件
- 
文件和目录操作:
- 
os.Open:用于打开文件以供读取或写入。
- 
os.Create:用于创建文件并打开以供写入。
- 
os.Remove:用于删除文件或目录。
- 
os.Mkdir和os.MkdirAll:用于创建目录。
- 
os.Rename:用于重命名文件或目录。
- 
os.Stat和os.Lstat:用于获取文件或目录的信息(元数据)。
 
- 
- 
文件描述符:
- 
os.Stdin、os.Stdout和os.Stderr:代表标准输入、标准输出和标准错误输出文件描述符。
 
- 
- 
环境变量:
- 
os.Environ:返回操作系统的环境变量。
- 
os.Getenv:获取指定环境变量的值。
- 
os.Setenv:设置环境变量的值。
 
- 
- 
进程管理:
- 
os.Getpid:获取当前进程的 ID。
- 
os.Getppid:获取父进程的 ID。
- 
os.Getwd:获取当前工作目录。
- 
os.Chdir:更改当前工作目录。
- 
os.Exit:用于终止程序的执行。
- 
os.StartProcess:用于启动新的进程。
 
- 
- 
信号处理:
- 
os.Signal:包含了各种操作系统信号,如中断、终止、停止等。
 
- 
os 包允许 Go 程序与操作系统进行交互,执行文件操作、环境变量操作、进程管理等各种任务。这个包通常与其他标准库包一起使用,如 fmt、io、filepath 等,以执行复杂的文件操作和系统级任务。
案例如下:
package main
import (
	"fmt"
	"os"
)
func main() {
	// 创建一个新文件并写入数据
	file, err := os.Create("test.txt")
	if err != nil {
		fmt.Println("Error creating file:", err)
		return
	}
	defer file.Close()
	file.WriteString("王美丽")
	// 打开文件并读取数据
	file, err = os.Open("test.txt")
	if err != nil {
		fmt.Println("Error opening file:", err)
		return
	}
	defer file.Close()
	data := make([]byte, 100)
	count, err := file.Read(data)
	if err != nil {
		fmt.Println("Error reading file:", err)
		return
	}
	fmt.Printf("Read %d bytes: %s\n", count, data)
}
在这个示例中,我们使用 os.Create 创建一个新文件并写入数据,然后使用 os.Open 打开文件并读取数据。这演示了如何使用 os 包执行文件操作。
请登录后再评论