Go 言語では、パスがディレクトリであるかどうかを判断するのは非常に簡単です。標準ライブラリの os
パッケージには、パスがディレクトリであるかどうかを判断するために使用できる関数 IsDir
が用意されています。
使用法は次のとおりです。
package main import ( "fmt" "os" ) func main() { path := "/path/to/directory" fileInfo, err := os.Stat(path) if err != nil { fmt.Println(err) return } if fileInfo.IsDir() { fmt.Println(path, "is a directory.") } else { fmt.Println(path, "is not a directory.") } }
上記のコードでは、os.Stat
関数を使用して、指定されたパス。 FileInfo
オブジェクトには、ファイル サイズ、作成時間などのメタデータ情報が含まれています。 IsDir
メソッドを使用して、パスがディレクトリであるかどうかを判断し、ディレクトリである場合は、対応する情報を出力します。 なお、
関数を使用する際には、ファイルが存在しない、権限が足りないなどのエラーが発生する場合があり、それに応じたエラー処理が必要となります。
関数に加えて、 の
Walk で
os.Stat 関数を使用することもできます。 filepath
package または、WalkDir
関数は、ディレクトリ内のファイルを走査し、各ファイルがディレクトリであるかどうかを判断します。コードは次のとおりです: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
path := "/path/to/directory"
err := filepath.WalkDir(path, func(path string, info os.DirEntry, err error) error {
if err != nil {
fmt.Println(err)
return err
}
if info.IsDir() {
fmt.Println(path, "is a directory.")
} else {
fmt.Println(path, "is not a directory.")
}
return nil
})
if err != nil {
fmt.Println(err)
}
}</pre><div class="contentsignin">ログイン後にコピー</div></div>上記のコードは、WalkDir<p> 関数を使用して、指定されたディレクトリ内のファイルを走査します。 <code>func(path string, info os.DirEntry, err error ) error
が使用されます 各ファイルを処理するための関数。info
オブジェクトはファイル関連の情報であり、IsDir
はそれがディレクトリであるかどうかを判断するために使用されます。この関数はエラー タイプの値を返すことに注意してください。エラーが発生した場合は、それに応じて処理する必要があります。
を使用するか WalkDir
を使用するかに関係なく、パスがディレクトリであるかどうかを判断するのに非常に便利です。ディレクトリの作成や削除など、ディレクトリをさらに操作する必要がある場合は、os
パッケージが提供する対応する機能を使用することもできます。
以上がgolangはそれがディレクトリであるかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。