mirror of
https://github.com/golang/go
synced 2024-11-11 22:20:22 -07:00
spec: slightly more realistic example for type assertions
For #17428. Change-Id: Ia902b50cf0c40e3c2167fb573a39d328331c38c7 Reviewed-on: https://go-review.googlesource.com/31449 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
1e3dc3d5d4
commit
023bb034e9
@ -1,6 +1,6 @@
|
||||
<!--{
|
||||
"Title": "The Go Programming Language Specification",
|
||||
"Subtitle": "Version of October 18, 2016",
|
||||
"Subtitle": "Version of October 19, 2016",
|
||||
"Path": "/ref/spec"
|
||||
}-->
|
||||
|
||||
@ -3116,13 +3116,16 @@ known to be <code>T</code> in a correct program.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
var x interface{} = 7 // x has dynamic type int and value 7
|
||||
i := x.(int) // i has type int and value 7
|
||||
var x interface{} = 7 // x has dynamic type int and value 7
|
||||
i := x.(int) // i has type int and value 7
|
||||
|
||||
type I interface { m() }
|
||||
var y I
|
||||
s := y.(string) // illegal: string does not implement I (missing method m)
|
||||
r := y.(io.Reader) // r has type io.Reader and y must implement both I and io.Reader
|
||||
|
||||
func f(y I) {
|
||||
s := y.(string) // illegal: string does not implement I (missing method m)
|
||||
r := y.(io.Reader) // r has type io.Reader and the dynamic type of y must implement both I and io.Reader
|
||||
…
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
|
Loading…
Reference in New Issue
Block a user