Fixes #223
This commit is contained in:
chai2010
2016-01-21 10:56:41 +08:00
parent 44923a24eb
commit fd20d3df27
3 changed files with 3 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ ch = make(chan string, 3)
![](../images/ch8-02.png)
向緩存Channel的發送操作就是向內部緩存隊列的尾部插入原因接收操作則是從隊列的頭部刪除元素。如果內部緩存隊列是滿的那麽發送操作將阻塞直到因另一個goroutine執行接收操作而釋放了新的隊列空間。相反如果channel是空的接收操作將阻塞直到有另一個goroutine執行發送操作而向隊列插入元素。
向緩存Channel的發送操作就是向內部緩存隊列的尾部插入元素接收操作則是從隊列的頭部刪除元素。如果內部緩存隊列是滿的那麽發送操作將阻塞直到因另一個goroutine執行接收操作而釋放了新的隊列空間。相反如果channel是空的接收操作將阻塞直到有另一個goroutine執行發送操作而向隊列插入元素。
我們可以在無阻塞的情況下連續向新創建的channel發送三個值

View File

@@ -8,7 +8,7 @@
ch := make(chan int) // ch has type 'chan int'
```
和map類似channel也一個對應make創建的底層數據結構的引用。當我複製一個channel或用於函數參數傳遞時隻是拷貝了一個channel引用因此調用者何被調用者將引用同一個channel對象。和其它的引用類型一樣channel的零值也是nil。
和map類似channel也一個對應make創建的底層數據結構的引用。當我複製一個channel或用於函數參數傳遞時隻是拷貝了一個channel引用因此調用者何被調用者將引用同一個channel對象。和其它的引用類型一樣channel的零值也是nil。
兩個相同類型的channel可以使用==運算符比較。如果兩個channel引用的是相通的對象那麽比較的結果爲眞。一個channel也可以和nil進行比較。