そういえば書いていなかったのでメモです。

広告

結論: ioutil.ReadDir(dirname)を使う

 とにかく便利なioutilさんを使えば一発です。FileInfoオブジェクトのリストが第一戻り値として返ってくるので、よしなにこまごまできます。ちなみにファイル名でソートされて返ってきます。

その他の方法: *os.FileのReaddir周辺を使う

 osパッケージのFile構造体にもReaddirメソッドがあるので、もしディレクトリのファイル構造体がすでにあるならこれを使えばOKです。ioutil.ReadDirも中身ではこれを使っていますし。
 ただ引数をどう指定するかはちょっとややこしめです。とりあえず一覧取得したいなら-1でいいかと。また、ファイル名の一覧だけ欲しい場合はf.Readdirnamesメソッドを使用することになります。
 ちなみにソースコードを読んでみたところ、OSによってReaddirメソッドの中身がReaddirnamesのラッパのようになっていたり、その逆だったりして、ちょっと新鮮でした。

その他コメントなど

 とにかくpathを指定すれば情報を持ってきてほしい、という場合はioutilということに。ソートなども諸々処理してくれますから、楽です。ソート条件を色々変える場合は、os.FileのReaddirのラッパを別に定義することになるかも。

広告

関連コンテンツと広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA