mirror of
https://github.com/golang/go
synced 2024-11-21 21:24:45 -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:
parent
785ee50c55
commit
91672686da
20
doc/go1.html
20
doc/go1.html
@ -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 == "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)
|
||||||
|
}</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<em>Updating</em>:
|
<em>Updating</em>:
|
||||||
|
@ -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 (
|
|||||||
"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
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user