Golang标准库之os

os库包含了os、os/exec、os/signal、os/user

目录

一、os

二、os/exec

三、os/signal

四、os/user


一、os

常用函数,由包名“os”直接调用

//1.获取主机名
hostName, err := os.Hostname()
if err != nil {
   log.Fatalln(err)
}
fmt.Println(hostName)


//2.获取系统环境变量并循环打印
envList := os.Environ()
for _, val := range envList {
    fmt.Println(val)
}

//3.通过环境变量名字获取变量值
val := os.Getenv("GOPATH")
fmt.Println(val)

//4.设置或修改环境变量
err := os.Setenv("GOPATH", "/work/gopath")
fmt.Println(err)

//5.以指定的code终止程序
func test() {
    defer fmt.Println("os.Exit()时不会执行defer")
    os.Exit(1)
    return
}

//6.获取程序执行者的uid
uid := os.Getuid()
fmt.Println(uid)

//7.获取当前进程id
pid := os.Getpid()
fmt.Println(pid)

//8.获取父进程id
ppid := os.Getppid()
fmt.Println(ppid)

//9.获取根路径
dir, _ := os.Getwd()
fmt.Println(dir)

//10.修改文件权限
err := os.Chmod("text.txt", 0777)

//11.以指定权限和名称创建一个目录
err := os.Mkdir("test_dir", 0755)

//12.创建多级目录
err := os.MkdirAll("test_dir/test1/test2", 0755)
fmt.Println(err)

//13.修改文件名称
err := os.Rename("text", "text1")

//14.删除单个文件
err := os.Remove("text")

//15.按路径删除一个文件或目录
err := os.RemoveAll("test_dir/test1/test2/file1.txt")

//16.创建一个文件
file, err := os.Create("text2")

//17.打开文件并返回文件指针
file, err := os.Open("text2")


文件操作常用方法,由文件句柄调用

//打开文件得到一个文件句柄(获取指向文件结构体的指针)
file, _ := os.Open("text2")

//通过结构体指针调用结构体的方法

//1.获取文件名
fileName := file.Name()
fmt.Printf("文件名为: %s", fileName)

//2.获取文件信息
fileInfo, _ := file.Stat()
fmt.Printf("文件信息: %+v", fileInfo)

//3.修改文件权限模式
file.Chmod(0666)

//4.读取文件内容
content := make([]byte, 100)
n, err := file.Read(content)
if err != nil {
    log.Fatalln(err)
 }
fmt.Printf("read %d bytes: %q\n", n, content[:n])

//5.写入内容
file, _ := os.OpenFile("text2", os.O_RDWR, 0666)
n, err := file.Write([]byte("新写入的内容"))


注意:
文件最后操作完需执行
file.Close()

二、os/exec

三、os/signal

四、os/user

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值