发布时间:2024-12-04 01:28:22
例如,我们可以使用os.Create函数创建一个新文件:
file, err := os.Create("test.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
这段代码中,我们使用os.Create函数创建了一个名为test.txt的新文件,并返回一个指向该文件的File对象。如果创建失败,则会返回一个非nil的错误值。在最后,我们需要关闭这个文件,以便释放操作系统资源。
下面是一个获取操作系统的PATH环境变量的示例:
path := os.Getenv("PATH")
fmt.Println("Path:", path)
这段代码使用了os.Getenv函数,通过传入环境变量的名称来获取其值。在本例中,我们获取了操作系统的PATH环境变量,并打印出来。
下面是一个启动新进程并等待其结束的示例:
cmd := exec.Command("ls", "-l")
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
这段代码使用了os.StartProcess函数启动了一个名为ls的进程,并传入了参数"-l"。接着,我们通过调用cmd.Run方法等待该进程的结束。如果进程执行失败,则会返回一个非nil的错误值。
下面是一个捕获操作系统SIGINT信号的示例:
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
go func() {
for sig := range c {
fmt.Println("Received signal:", sig)
}
}()
这段代码使用了signal.Notify函数,通过传入一个通道和要捕获的信号来注册信号处理函数。接着,我们使用匿名函数在一个新的goroutine中处理捕获到的信号。在本例中,我们捕获了操作系统的SIGINT信号,并在接收到该信号时打印相关信息。
下面是一个获取当前工作目录并终止程序执行的示例:
cwd, err := os.Getwd()
if err != nil {
log.Fatal(err)
}
fmt.Println("Current directory:", cwd)
os.Exit(0)
这段代码使用了os.Getwd函数获取了当前工作目录的路径,并打印出来。接着,我们使用os.Exit函数终止程序的执行,并传入一个退出码(0表示正常退出)。