📌  相关文章
📜  在 golang 中追加到文件 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:07:39.934000             🧑  作者: Mango

在 Golang 中追加到文件

Golang 是一种高效的编程语言,具有良好的并发性和可扩展性。在 Golang 中,我们可以使用内置的 io 包来读取和写入文件,但是如果想要将数据追加到文件末尾,我们需要使用 os 包的一些特定功能。

打开文件

在 Golang 中,我们可以使用 os.OpenFile() 函数打开一个文件。该函数的第一个参数是要打开的文件的路径,第二个参数是文件的打开方式,第三个参数是文件的权限。如果文件不存在,该函数还可以创建一个新文件。

file, err := os.OpenFile("file.txt", os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
    log.Fatal(err)
}
defer file.Close()

在上面的代码中,我们打开了一个名为 "file.txt" 的文件,并以 os.O_APPEND|os.O_WRONLY 模式打开,以便将内容追加到文件末尾。使用 0644 权限掩码可以授予文件读写权限。

写入文件

打开文件后,我们可以使用io.WriteString()函数将数据写入文件。该函数的第一个参数是要写入的文件,第二个参数是要写入的字符串。

data := "Hello, world!\n"
_, err = io.WriteString(file, data)
if err != nil {
    log.Fatal(err)
}

在上面的代码中,我们使用 io.WriteString() 函数将 "Hello, world!\n" 字符串写入文件。由于我们不需要读取从该函数返回的字节数,因此我们使用一个下划线来存储它。

完整代码

以下是在 Golang 中追加数据到文件的完整代码:

package main

import (
    "io"
    "log"
    "os"
)

func main() {
    file, err := os.OpenFile("file.txt", os.O_APPEND|os.O_WRONLY, 0644)
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    data := "Hello, world!\n"
    _, err = io.WriteString(file, data)
    if err != nil {
        log.Fatal(err)
    }
}
总结

在 Golang 中追加数据到文件很容易。我们可以使用 os.OpenFile() 函数打开文件,以 os.O_APPEND|os.O_WRONLY 模式打开文件。然后,我们可以使用 io.WriteString() 函数将数据追加到文件末尾。