// 如果数据库目录不存在,则新建一个
if _, err := os.Stat(dirPath); os.IsNotExist(err) { if err := os.MkdirAll(dirPath, os.ModePerm); err != nil { return nil, err
}
}
在阅览别人代码时对上述第一个语句产生疑问,因为os.Stat返回的是一个FileInfo用于描述文件,若err == nil 不就说明文件存在吗,为什么还需要os.IxNotExist(err)再进行一次判断。
后发现是因为err!=nil有两种意义
golang判断文件或文件夹是否存在的方法为对os.Stat() 函数返回的错误值进行判断:
- 如果返回的错误为nil,说明文件或文件夹存在
- 如果返回的错误类型使用os.IsNotExist() 判断为true,说明文件或文件夹不存在
- 如果返回的错误为其它类型,则不确定是否在存在
TRANSLATE with x
English
TRANSLATE with
COPY THE URL BELOW
Back
EMBED THE SNIPPET BELOW IN YOUR SITE
Enable collaborative features and customize widget: Bing Webmaster Portal
Back
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/270793.html