1
我們可以在Go lang中兩次啓動一個decalred頻道嗎?爲什麼同一個Go頻道不能啓動兩次?
package main
import (
"fmt"
)
func emit(c chan string) {
words := []string {"The", "quick", "brown", "fox"}
for _, word := range words {
c <- word
}
close(c)
}
在main函數,如果我嘗試使用相同的通道兩次我得到該通道的默認值
func main() {
wordChannel := make(chan string)
go emit(wordChannel)
for word := range wordChannel {
fmt.Printf("%s ", word)
}
go emit(wordChannel)
word1 := <-wordChannel
fmt.Printf("%s" , word1) // prints Default value
}
所以再次使用它,我來宣佈另一個頻道。 如果這不是一個錯誤,爲什麼這是在Go Lang中完成的。 ? 我使用去琅版本1.6
現在變得清楚,現在開放和關閉狀態。正確Terminiolgy有很大的幫助。謝謝 :) –