1. 程式人生 > >Cynhard的專欄

Cynhard的專欄

簡介

Go的path/filepath提供了Walk函式用來遍歷資料夾,原型如下:

func Walk(root string, walkFn WalkFunc) error

root 為要遍歷的資料夾。在遍歷(按照字母順序)每個檔案或資料夾(包括root)時會呼叫walkFn,它的型別是WalkFunc:

type WalkFunc func(path string, info os.FileInfo, err error) error

path為遍歷的路徑,info是檔案屬性,err表示在遍歷過程中出現錯誤。返回值可以是SkipDir,如果path是目錄,則跳過該目錄;如果是檔案,則跳過剩下檔案。

例子

package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    filepath.Walk("G:\\ebook", walkfunc)
}

func walkfunc(path string, info os.FileInfo, err error) error {
    fmt.Println(path)
    return nil
}