Commit 91672686 authored by Mike Rosset's avatar Mike Rosset Committed by Rob Pike

doc: provide example filepath.Walk for go1

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/5674067
parent 785ee50c
...@@ -1540,12 +1540,24 @@ instead of a <code>Visitor</code> interface value. ...@@ -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>:
......
...@@ -1439,12 +1439,10 @@ instead of a <code>Visitor</code> interface value. ...@@ -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>:
......
...@@ -12,6 +12,7 @@ import ( ...@@ -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() { ...@@ -28,6 +29,7 @@ func main() {
runeType() runeType()
errorExample() errorExample()
timePackage() timePackage()
walkExample()
osIsExist() osIsExist()
} }
...@@ -183,6 +185,25 @@ func timePackage() { ...@@ -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
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment