如果存在,如何附加到文件,否则创建一个新文件并写入文件

时间:2018-12-12 18:19:42

标签: go

我有一个文件要添加一些内容。我首先检查该文件是否存在。如果可以,我向其中添加内容。如果没有,我只是用该名称创建一个新文件并将其写入。为此,我正在做类似的事情:

if _, err := os.Stat(filename); os.IsNotExist(err) {
    f, err := os.Create(filename)
    if err != nil {
        panic(err)
    }
        ....
} else {
    f, _ := os.OpenFile(filename, os.O_RDWR|os.O_APPEND, 0660);
    ....
}

是否可以像1-2衬纸一样缩短此代码?

1 个答案:

答案 0 :(得分:3)

OpenFile示例说明了如何附加到现有文件或创建新文件。代码是:

// If the file doesn't exist, create it, or append to the file
f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
    log.Fatal(err)
}