在Go语言中,进行文件操作主要涉及到os
和ioutil
这两个包。下面是一些基本的文件操作示例:
- 打开文件:
file, err := os.Open("filename.txt") if err != nil { log.Fatal(err) } defer file.Close()
在上面的代码中,os.Open
函数用于打开一个名为"filename.txt"的文件。如果文件不存在或无法打开,该函数将返回一个错误。我们使用log.Fatal
来记录错误并终止程序。defer file.Close()
语句确保在函数返回之前关闭文件。
- 读取文件内容:
content, err := ioutil.ReadFile("filename.txt") if err != nil { log.Fatal(err) } fmt.Println(string(content))
在上面的代码中,ioutil.ReadFile
函数用于读取整个文件的内容,并将其作为字节切片返回。我们使用string
函数将字节切片转换为字符串,并打印出来。
- 写入文件:
content := "Hello, World!" err := ioutil.WriteFile("output.txt", []byte(content), 0644) if err != nil { log.Fatal(err) }
在上面的代码中,ioutil.WriteFile
函数用于将字符串"Hello, World!"写入名为"output.txt"的文件中。第二个参数是一个字节切片,其中包含了要写入的内容。第三个参数是文件的权限模式。
- 创建目录:
err := os.Mkdir("mydir", 0755) if err != nil { log.Fatal(err) }
在上面的代码中,os.Mkdir
函数用于创建一个名为"mydir"的目录。第二个参数是目录的权限模式。
- 删除文件或目录:
err := os.Remove("filename.txt") if err != nil { log.Fatal(err) }
在上面的代码中,os.Remove
函数用于删除名为"filename.txt"的文件。如果要删除一个目录及其所有内容,可以使用os.RemoveAll
函数。
这些只是Go语言文件操作的一些基本示例。你可以根据需要进行更复杂的操作,例如遍历目录、重命名文件或目录等。请注意,在使用文件操作时,始终要处理可能出现的错误,并确保在不再需要文件时将其关闭。