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

use*_*775 1 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);
    ....
}
Run Code Online (Sandbox Code Playgroud)

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

Cer*_*món 6

的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)
}
Run Code Online (Sandbox Code Playgroud)