1
Go lang에서 데칼 한 채널을 두 번 시작할 수 있습니까?동일한 Go 채널을 두 번 시작할 수없는 이유는 무엇입니까?
main 함수에서package main
import (
"fmt"
)
func emit(c chan string) {
words := []string {"The", "quick", "brown", "fox"}
for _, word := range words {
c <- word
}
close(c)
}
난 두 번 내가 그 채널의 기본 값을 받고 있어요 동일한 채널을 사용하려고
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
}
Output 그래서 내가로했습니다 다시 사용하는 경우를 다른 채널을 선포하십시오. 이것이 Go Lang에서 수행 된 이유는 오류가 아닌 경우입니다. ? 전 채널이 채널은 단순히 존재하고있다 "시작"되지 않은 1.6
열기 상태와 닫힌 상태에서 이제 분명해진다. 정확한 터미널 효과는 큰 도움이된다. 감사 :) –