ファイルの存在確認
func IsFile(path string) bool {
info, err := os.Stat(path)
if err != nil {
return false
}
return !info.IsDir()
}
-
os.Stat(path)
を使って、指定したパスの情報を取得 - エラーが発生した場合(
err != nil
)、指定したパスにファイルまたはディレクトリが存在しないため、false
を返却 -
!info.IsDir()
がtrue
の場合、指定したパスはファイルであるため、true
を返却
ディレクトリの存在確認
func IsDir(path string) bool {
info, err := os.Stat(path)
if err != nil {
return false
}
return info.IsDir()
}
-
os.Stat(path)
を使って、指定したパスの情報を取得 - エラーが発生した場合(
err != nil
)、指定したパスにファイルまたはディレクトリが存在しないため、false
を返却 -
info.IsDir()
がtrue
の場合、指定したパスはディレクトリであるため、true
を返却
パスの指定方法
両関数とも、絶対パス・相対パス、どちらの指定方法でもOKです
参考
存在確認部分の正当性に関しては、下記の記事を参考にしました。
info, err := os.Stat(path)
if err != nil {
return false
}