diff options
| author | Ondřej Surý <ondrej@sury.org> | 2012-02-29 11:23:13 +0100 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2012-02-29 11:23:13 +0100 |
| commit | b6d7097a0d6072199f2cd74d67404890697cf78a (patch) | |
| tree | a2193c528a79fd5606507568859ee5067c6b86e4 /doc/progs | |
| parent | 4cecda6c347bd6902b960c6a35a967add7070b0d (diff) | |
| download | golang-b6d7097a0d6072199f2cd74d67404890697cf78a.tar.gz | |
Imported Upstream version 2012.02.22upstream-weekly/2012.02.22
Diffstat (limited to 'doc/progs')
| -rw-r--r-- | doc/progs/file.go | 6 | ||||
| -rw-r--r-- | doc/progs/file_windows.go | 6 | ||||
| -rw-r--r-- | doc/progs/go1.go | 32 |
3 files changed, 38 insertions, 6 deletions
diff --git a/doc/progs/file.go b/doc/progs/file.go index e1aadaa7d..75f0f207a 100644 --- a/doc/progs/file.go +++ b/doc/progs/file.go @@ -49,7 +49,7 @@ func Create(name string) (file *File, err error) { func (file *File) Close() error { if file == nil { - return os.EINVAL + return os.ErrInvalid } err := syscall.Close(file.fd) file.fd = -1 // so it can't be closed again @@ -58,7 +58,7 @@ func (file *File) Close() error { func (file *File) Read(b []byte) (ret int, err error) { if file == nil { - return -1, os.EINVAL + return -1, os.ErrInvalid } r, err := syscall.Read(file.fd, b) return int(r), err @@ -66,7 +66,7 @@ func (file *File) Read(b []byte) (ret int, err error) { func (file *File) Write(b []byte) (ret int, err error) { if file == nil { - return -1, os.EINVAL + return -1, os.ErrInvalid } r, err := syscall.Write(file.fd, b) return int(r), err diff --git a/doc/progs/file_windows.go b/doc/progs/file_windows.go index e6a355049..8b79ee97d 100644 --- a/doc/progs/file_windows.go +++ b/doc/progs/file_windows.go @@ -49,7 +49,7 @@ func Create(name string) (file *File, err error) { func (file *File) Close() error { if file == nil { - return os.EINVAL + return os.ErrInvalid } err := syscall.Close(file.fd) file.fd = syscall.InvalidHandle // so it can't be closed again @@ -58,7 +58,7 @@ func (file *File) Close() error { func (file *File) Read(b []byte) (ret int, err error) { if file == nil { - return -1, os.EINVAL + return -1, os.ErrInvalid } r, err := syscall.Read(file.fd, b) return int(r), err @@ -66,7 +66,7 @@ func (file *File) Read(b []byte) (ret int, err error) { func (file *File) Write(b []byte) (ret int, err error) { if file == nil { - return -1, os.EINVAL + return -1, os.ErrInvalid } r, err := syscall.Write(file.fd, b) return int(r), err diff --git a/doc/progs/go1.go b/doc/progs/go1.go index 0348aa315..1507d5b33 100644 --- a/doc/progs/go1.go +++ b/doc/progs/go1.go @@ -11,6 +11,8 @@ import ( "flag" "fmt" "log" + "os" + "path/filepath" "testing" "time" "unicode" @@ -27,6 +29,8 @@ func main() { runeType() errorExample() timePackage() + walkExample() + osIsExist() } var timeout = flag.Duration("timeout", 30*time.Second, "how long to wait for completion") @@ -181,6 +185,25 @@ func timePackage() { 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) { c <- 1 } @@ -206,3 +229,12 @@ func BenchmarkSprintf(b *testing.B) { fmt.Sprintf("%x", 23) } } + +func osIsExist() { + name := "go1.go" + f, err := os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0600) + if os.IsExist(err) { + log.Printf("%s already exists", name) + } + _ = f +} |
