os.Stat()足以判断文件是否存在吗?

问题描述 投票:0回答:1

我在一本书中读到过这段代码。 即将使用‘os.Stat’来判断文件是否存在。

func checkExistance(fileName string) bool {
    _, err := os.Stat(fileName)
    if err != nil {
        if os.IsExist(err) {
            return true
        } else {
            return false
        }
    }
    return true
}

我想知道这个判断“os.IsExist(err)”是否有必要? “os.Stat”足以判断文件是否存在吗?

我可以将这段代码简化为

func checkExistance(fileName string) bool {
    _, err := os.Stat(fileName)
    if err != nil {
        return false
    }
    return true
}

这个?

期待宝贵的答案,谢谢。

go
1个回答
0
投票

当我们执行 IsExist 函数时,我们会得到两个名为 error 和 target 的参数。我们得到了值

ErrExist = errors.New("file already exists")

来自目标参数。如果目标和错误消息兼容,我们会得到值“true”。

这意味着即使文件存在,“err”变量也将已满。简而言之,您无法通过这种方式自定义。

© www.soinside.com 2019 - 2024. All rights reserved.