ch7: fix code format

This commit is contained in:
chai2010
2016-01-21 10:22:10 +08:00
parent 2420954025
commit 0b5ec941ed
13 changed files with 208 additions and 186 deletions

View File

@@ -1,4 +1,5 @@
## 7.2. 接口類型
接口類型具體描述了一繫列方法的集合,一個實現了這些方法的具體類型是這個接口類型的實例。
io.Writer類型是用的最廣泛的接口之一因爲它提供了所有的類型寫入bytes的抽象包括文件類型內存緩衝區網絡鏈接HTTP客戶端壓縮工具哈希等等。io包中定義了很多其它有用的接口類型。Reader可以代表任意可以讀取bytes的類型Closer可以是任意可以關閉的值例如一個文件或是網絡鏈接。到現在你可能註意到了很多Go語言中單方法接口的命名習慣
@@ -6,10 +7,10 @@ io.Writer類型是用的最廣泛的接口之一因爲它提供了所有的
```go
package io
type Reader interface {
Read(p []byte) (n int, err error)
Read(p []byte) (n int, err error)
}
type Closer interface {
Close() error
Close() error
}
```
@@ -17,21 +18,21 @@ type Closer interface {
```go
type ReadWriter interface {
Reader
Writer
Reader
Writer
}
type ReadWriteCloser interface {
Reader
Writer
Closer
Reader
Writer
Closer
}
```
上面用到的語法和結構內嵌相似我們可以用這種方式以一個簡寫命名另一個接口而不用聲明它所有的方法。這種方式本稱爲接口內嵌。盡管略失簡潔我們可以像下面這樣不使用內嵌來聲明io.Writer接口。
```go
type ReadWriter interface {
Read(p []byte) (n int, err error)
Write(p []byte) (n int, err error)
Read(p []byte) (n int, err error)
Write(p []byte) (n int, err error)
}
```
@@ -39,8 +40,8 @@ type ReadWriter interface {
```go
type ReadWriter interface {
Read(p []byte) (n int, err error)
Writer
Read(p []byte) (n int, err error)
Writer
}
```