我知道這是不對的如何使發送消息到通道的確定順序是正確的
func e6() {
c1 := make(chan struct{}, 1)
<-c1
go func() {
c1 <- struct{}{}
}()
}
,這是正確的
func e6() {
c1 := make(chan struct{}, 1)
go func() { //statement1
c1 <- struct{}{}
}()
<-c1 //statement2
}
既然我們不能假設語句1和語句2的順序在正確的例子中,如果statement2在statement1之前執行,在這種情況下,正確的例子看起來像是錯誤的例子,但爲什麼這樣做是正確的呢?感謝您的幫助。
非常感謝。 –