diff options
author | Rob Pike <r@golang.org> | 2009-12-16 10:29:53 +1100 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2009-12-16 10:29:53 +1100 |
commit | aea97e0bd7da9cef1cc631ddbd3578a0877a4fcc (patch) | |
tree | 89f2452373bd20e8248aee25ea00a592177bca95 /doc/progs/cat.go | |
parent | 881d6064d23d9da5c7ff368bc7d41d271290deff (diff) | |
download | golang-aea97e0bd7da9cef1cc631ddbd3578a0877a4fcc.tar.gz |
update tutorial.
R=rsc
CC=golang-dev
http://codereview.appspot.com/179063
Diffstat (limited to 'doc/progs/cat.go')
-rw-r--r-- | doc/progs/cat.go | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/doc/progs/cat.go b/doc/progs/cat.go index 4e5e31cae..f8d1a54fb 100644 --- a/doc/progs/cat.go +++ b/doc/progs/cat.go @@ -5,42 +5,42 @@ package main import ( - "./file"; - "flag"; - "fmt"; - "os"; + "./file" + "flag" + "fmt" + "os" ) func cat(f *file.File) { - const NBUF = 512; - var buf [NBUF]byte; + const NBUF = 512 + var buf [NBUF]byte for { switch nr, er := f.Read(&buf); true { case nr < 0: - fmt.Fprintf(os.Stderr, "cat: error reading from %s: %s\n", f.String(), er.String()); - os.Exit(1); + fmt.Fprintf(os.Stderr, "cat: error reading from %s: %s\n", f.String(), er.String()) + os.Exit(1) case nr == 0: // EOF - return; + return case nr > 0: if nw, ew := file.Stdout.Write(buf[0:nr]); nw != nr { - fmt.Fprintf(os.Stderr, "cat: error writing from %s: %s\n", f.String(), ew.String()); + fmt.Fprintf(os.Stderr, "cat: error writing from %s: %s\n", f.String(), ew.String()) } } } } func main() { - flag.Parse(); // Scans the arg list and sets up flags + flag.Parse() // Scans the arg list and sets up flags if flag.NArg() == 0 { - cat(file.Stdin); + cat(file.Stdin) } for i := 0; i < flag.NArg(); i++ { - f, err := file.Open(flag.Arg(i), 0, 0); + f, err := file.Open(flag.Arg(i), 0, 0) if f == nil { - fmt.Fprintf(os.Stderr, "cat: can't open %s: error %s\n", flag.Arg(i), err); - os.Exit(1); + fmt.Fprintf(os.Stderr, "cat: can't open %s: error %s\n", flag.Arg(i), err) + os.Exit(1) } - cat(f); - f.Close(); + cat(f) + f.Close() } } |