]> Cypherpunks repositories - gostls13.git/commitdiff
doc: tweak example in Effective Go
authorRob Pike <r@golang.org>
Mon, 22 Oct 2018 03:04:18 +0000 (14:04 +1100)
committerRob Pike <r@golang.org>
Mon, 22 Oct 2018 05:44:46 +0000 (05:44 +0000)
A prior attempt at addressing the issue got bogged down in an
endless conversation around the subtleties of Read semantics.
Let's not go there.

Instead, we put the issue to bed, perhaps not in perfect comfort
but well enough, by moving a line of the example so that even
if there is a "benign" error as the issue suggests, the loop
terminates with n and err correctly set.

Fixes #27818

Change-Id: I4a32d56c9e782f17578565d90b22ce531e3d8667
Reviewed-on: https://go-review.googlesource.com/c/143677
Reviewed-by: Ian Lance Taylor <iant@golang.org>
doc/effective_go.html

index 89c1d08782a132ac3109e356f9d3be00fe46b29e..38d09f4c73e0c243739158ed1d945f038d43b48b 100644 (file)
@@ -1402,11 +1402,11 @@ the moment, the following snippet would also read the first 32 bytes of the buff
     var err error
     for i := 0; i &lt; 32; i++ {
         nbytes, e := f.Read(buf[i:i+1])  // Read one byte.
+        n += nbytes
         if nbytes == 0 || e != nil {
             err = e
             break
         }
-        n += nbytes
     }
 </pre>
 <p>