go - 创建一个空的文本文件

标签 go io

我一直在阅读和谷歌搜索,但我似乎无法找到这个简单的答案。

我有一个读取文件的函数,但如果文件不存在,它会出现 panic 。我想要做的是一个函数,在读取之前检查文件是否存在,如果不存在,它会创建一个空文件。这是我的。

func exists(path string) (bool, error) {
    _, err := os.Stat(path)
    if err == nil {
        return true, nil
    }
    if os.IsNotExist(err) {
        return false, nil
    }
    return true, err
}

最佳答案

不要尝试首先检查是否存在,因为如果同时创建文件,您就会有一场比赛。如果文件不存在,您可以使用 O_CREATE 标志打开文件以创建它:

os.OpenFile(name, os.O_RDONLY|os.O_CREATE, 0666)

关于go - 创建一个空的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53039223/

相关文章:

go - 获取永久MAC地址

go - 在 Hyperledger Fabric V1.0 链代码中识别调用同级/组织

C - 数组、排序和修改

file - 如何在 julia 中编辑一行文件?

python - 如何保存 Python NLTK 对齐模型供以后使用?

java - Java6 中 java.nio.file.Path 的替代方案,以实现操作系统文件系统灵活性

c# - 如何在 C# 中编写 Tcp/ip 网络并在 Golang 中编写服务器以实现统一多人跳棋游戏

go - 加入或推送 slice

mysql - 有没有办法显示 mysql 中查询执行的实际 i/o

go - 如何在 GoLang 中执行 native 指令?