golang os 包用法

Go语言的os包提供了许多用于与操作系统交互的功能。这个包涵盖了文件操作、环境变量、进程等许多方面。以下是一些os包的基本用法:

文件操作

创建文件

go 复制代码
file, err := os.Create("filename.txt")
if err != nil {
    // 处理错误
}
defer file.Close()

打开文件

go 复制代码
file, err := os.Open("filename.txt")
if err != nil {
    // 处理错误
}
defer file.Close()

读取文件内容

go 复制代码
data := make([]byte, 100)
count, err := file.Read(data)
if err != nil {
    // 处理错误
}
fmt.Println(string(data[:count]))

写入文件内容

go 复制代码
_, err := file.Write([]byte("Hello, world!"))
if err != nil {
    // 处理错误
}

目录操作

创建目录

go 复制代码
err := os.Mkdir("newdir", 0755)
if err != nil {
    // 处理错误
}

读取目录内容

go 复制代码
files, err := os.ReadDir(".")
if err != nil {
    // 处理错误
}
for _, file := range files {
    fmt.Println(file.Name())
}

环境变量

获取环境变量

go 复制代码
value := os.Getenv("PATH")
fmt.Println("PATH:", value)

设置环境变量

go 复制代码
err := os.Setenv("MYVAR", "myvalue")
if err != nil {
    // 处理错误
}

进程

获取进程ID

go 复制代码
pid := os.Getpid()
fmt.Println("PID:", pid)

退出程序

go 复制代码
os.Exit(0) // 0 表示正常退出,非零值表示异常退出
相关推荐
程序员爱钓鱼38 分钟前
Go语言实战案例-判断一个数是否为质数
后端·google·go
程序员爱钓鱼43 分钟前
Go语言实战案例-读取本地文本文件内容
后端·google·go
古月-一个C++方向的小白5 小时前
C++11之lambda表达式与包装器
开发语言·c++
沐知全栈开发5 小时前
Eclipse 生成 jar 包
开发语言
杭州杭州杭州6 小时前
Python笔记
开发语言·笔记·python
tanyongxi667 小时前
C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
开发语言·c++
阿葱(聪)8 小时前
java 在k8s中的部署流程
java·开发语言·docker·kubernetes
浮生带你学Java8 小时前
2025Java面试题及答案整理( 2025年 7 月最新版,持续更新)
java·开发语言·数据库·面试·职场和发展
斯是 陋室8 小时前
在CentOS7.9服务器上安装.NET 8.0 SDK
运维·服务器·开发语言·c++·c#·云计算·.net
mCell9 小时前
Go 并发编程基础:从 Goroutine 到 Worker Pool 实践
后端·性能优化·go