]> Cypherpunks repositories - gostls13.git/commitdiff
spec: add an example of a trivially invalid interface
authorRobert Griesemer <gri@golang.org>
Tue, 30 Jul 2019 23:16:03 +0000 (16:16 -0700)
committerRobert Griesemer <gri@golang.org>
Wed, 31 Jul 2019 05:45:43 +0000 (05:45 +0000)
In preparation for the forthcoming spec changes for #6977.
While at it, modernize existing File example that dates
back all the way to commit 18c5b488a3b.

Change-Id: Id10e4df0513e3de15bd58867222923eefa9473ea
Reviewed-on: https://go-review.googlesource.com/c/go/+/187978
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
doc/go_spec.html

index fb4341be1db3c195ce2f599e37bb3a65ebd71de8..89732fb8f296893c1d630e754b7156ef11853089 100644 (file)
@@ -1,6 +1,6 @@
 <!--{
        "Title": "The Go Programming Language Specification",
-       "Subtitle": "Version of May 14, 2019",
+       "Subtitle": "Version of July 31, 2019",
        "Path": "/ref/spec"
 }-->
 
@@ -1257,11 +1257,19 @@ non-<a href="#Blank_identifier">blank</a> name.
 </p>
 
 <pre>
-// A simple File interface
+// A simple File interface.
 interface {
-       Read(b Buffer) bool
-       Write(b Buffer) bool
-       Close()
+       Read([]byte) (int, error)
+       Write([]byte) (int, error)
+       Close() error
+}
+</pre>
+
+<pre>
+interface {
+       String() string
+       String() string  // illegal: String not unique
+       _(x int)         // illegal: method must have non-blank name
 }
 </pre>
 
@@ -1272,9 +1280,9 @@ have the method set
 </p>
 
 <pre>
-func (p T) Read(b Buffer) bool { return … }
-func (p T) Write(b Buffer) bool { return … }
-func (p T) Close() { … }
+func (p T) Read(p []byte) (n int, err error)   { return … }
+func (p T) Write(p []byte) (n int, err error)  { return … }
+func (p T) Close() error                       { return … }
 </pre>
 
 <p>