mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2025-08-12 09:51:59 +00:00
change escape of ch7
This commit is contained in:
@@ -26,17 +26,17 @@ var w io.Writer
|
||||
w.Write([]byte("hello")) // panic: nil pointer dereference
|
||||
```
|
||||
|
||||
第二个语句将一个*os.File类型的值赋给变量w:
|
||||
第二个语句将一个`*os.File`类型的值赋给变量w:
|
||||
|
||||
```go
|
||||
w = os.Stdout
|
||||
```
|
||||
|
||||
这个赋值过程调用了一个具体类型到接口类型的隐式转换,这和显式的使用io.Writer(os.Stdout)是等价的。这类转换不管是显式的还是隐式的,都会刻画出操作到的类型和值。这个接口值的动态类型被设为*os.Stdout指针的类型描述符,它的动态值持有os.Stdout的拷贝;这是一个代表处理标准输出的os.File类型变量的指针(图7.2)。
|
||||
这个赋值过程调用了一个具体类型到接口类型的隐式转换,这和显式的使用io.Writer(os.Stdout)是等价的。这类转换不管是显式的还是隐式的,都会刻画出操作到的类型和值。这个接口值的动态类型被设为`*os.Stdout`指针的类型描述符,它的动态值持有os.Stdout的拷贝;这是一个代表处理标准输出的os.File类型变量的指针(图7.2)。
|
||||
|
||||

|
||||
|
||||
调用一个包含\*os.File类型指针的接口值的Write方法,使得(\*os.File).Write方法被调用。这个调用输出“hello”。
|
||||
调用一个包含`*os.File`类型指针的接口值的Write方法,使得`(*os.File).Write`方法被调用。这个调用输出“hello”。
|
||||
|
||||
```go
|
||||
w.Write([]byte("hello")) // "hello"
|
||||
|
Reference in New Issue
Block a user