1
0
mirror of https://github.com/golang/go synced 2024-11-21 21:44:40 -07:00

doc: provide example filepath.Walk for go1

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/5674067
This commit is contained in:
Mike Rosset 2012-02-17 12:45:55 +11:00 committed by Rob Pike
parent 785ee50c55
commit 91672686da
3 changed files with 39 additions and 8 deletions

View File

@ -1540,12 +1540,24 @@ instead of a <code>Visitor</code> interface value.
The <code>WalkFunc</code> function will be called even for files or directories that could not be opened; The <code>WalkFunc</code> function will be called even for files or directories that could not be opened;
in such cases the error argument will describe the failure. in such cases the error argument will describe the failure.
If a directory's contents are to be skipped, If a directory's contents are to be skipped,
the function should return the value <code>SkipDir</code>. the function should return the value <a href="/pkg/path/filepath/#variables"><code>filepath.SkipDir</code></a>
</p> </p>
<p> <pre><!--{{code "progs/go1.go" `/STARTWALK/` `/ENDWALK/`}}
<font color="red">TODO: add an example?</font> --> markFn := func(path string, info os.FileInfo, err error) error {
</p> if path == &#34;pictures&#34; { // Will skip walking of directory pictures and its contents.
return filepath.SkipDir
}
if err != nil {
return err
}
log.Println(path)
return nil
}
err := filepath.Walk(&#34;.&#34;, markFn)
if err != nil {
log.Fatal(err)
}</pre>
<p> <p>
<em>Updating</em>: <em>Updating</em>:

View File

@ -1439,12 +1439,10 @@ instead of a <code>Visitor</code> interface value.
The <code>WalkFunc</code> function will be called even for files or directories that could not be opened; The <code>WalkFunc</code> function will be called even for files or directories that could not be opened;
in such cases the error argument will describe the failure. in such cases the error argument will describe the failure.
If a directory's contents are to be skipped, If a directory's contents are to be skipped,
the function should return the value <code>SkipDir</code>. the function should return the value <a href="/pkg/path/filepath/#variables"><code>filepath.SkipDir</code></a>
</p> </p>
<p> {{code "progs/go1.go" `/STARTWALK/` `/ENDWALK/`}}
<font color="red">TODO: add an example?</font>
</p>
<p> <p>
<em>Updating</em>: <em>Updating</em>:

View File

@ -12,6 +12,7 @@ import (
"fmt" "fmt"
"log" "log"
"os" "os"
"path/filepath"
"testing" "testing"
"time" "time"
"unicode" "unicode"
@ -28,6 +29,7 @@ func main() {
runeType() runeType()
errorExample() errorExample()
timePackage() timePackage()
walkExample()
osIsExist() osIsExist()
} }
@ -183,6 +185,25 @@ func timePackage() {
sleepUntil(time.Now().Add(123 * time.Millisecond)) sleepUntil(time.Now().Add(123 * time.Millisecond))
} }
func walkExample() {
// STARTWALK OMIT
markFn := func(path string, info os.FileInfo, err error) error {
if path == "pictures" { // Will skip walking of directory pictures and its contents.
return filepath.SkipDir
}
if err != nil {
return err
}
log.Println(path)
return nil
}
err := filepath.Walk(".", markFn)
if err != nil {
log.Fatal(err)
}
// ENDWALK OMIT
}
func initializationFunction(c chan int) { func initializationFunction(c chan int) {
c <- 1 c <- 1
} }