|
|
@@ -27,7 +27,7 @@ ch1 = make(chan string)
|
|
|
|
|
|
当然可以更短: `ch1 := make(chan string)`。
|
|
|
|
|
|
-这里我们构建一个int通道的通道: `chanOfChans := make(chan chan int)`。
|
|
|
+这里我们构建一个int通道的通道: `chanOfChans := make(chan int)`。
|
|
|
|
|
|
或者函数通道:`funcChan := chan func()`(相关示例请看第 [14.17](14.17.md) 节)。
|
|
|
|
|
|
@@ -525,8 +525,8 @@ for {
|
|
|
通道类型可以用注解来表示它只发送或者只接收:
|
|
|
|
|
|
```go
|
|
|
-var send_only chan<- int // channel can only receive data
|
|
|
-var recv_only <-chan int // channel can onley send data
|
|
|
+var send_only chan<- int // channel can only send data
|
|
|
+var recv_only <-chan int // channel can onley receive data
|
|
|
```
|
|
|
|
|
|
只接收的通道(<-chan T)无法关闭,因为关闭通道是发送者用来表示不再给通道发送值了,所以对只接收通道是没有意义的。通道创建的时候都是双向的,但也可以分配有方向的通道变量,就像以下代码:
|