go channel問題
package main
import (
"fmt"
"time"
)
func printCount(c chan int){
num := 0
for num >= 0{
num = <-c
fmt.Print(num," ")
}
}
func main(){
c := make(chan int)
a := []int{8,6,7,5,3,0,9,-1}
go printCount(c)
for _,v := range a{
c <- v
}
time.Sleep(time.Millisecond * 1)
fmt.Println("End of main")
}
上述程式碼輸出 8,6,7,5,3,0,9,-1 end of main ,為什麼-1 會輸出呀 把 time.Sleep() 註釋後就不會輸出-1,這是為啥
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- Go – Channel 原理Go
- go channel例子Go
- go channel ->同步Go
- go : channel , queue , 程式管理 , 關閉channel ?Go
- Go channel 的妙用Go
- go併發 - channelGo
- Go channel 介紹Go
- golang遍歷channel時return問題Golang
- 深度解密 Go 語言之 channel解密Go
- 深度解密Go語言之channel解密Go
- Go channel 實現原理分析Go
- Go Channel 詳細介紹Go
- go channel學習筆記Go筆記
- Go--關於 goroutine、channelGo
- 使用 Go Channel 及 Goroutine 時機Go
- Go的Channel傳送和接收Go
- Go Quiz: 從Go面試題看channel在select場景下的注意事項GoUI面試題
- 圖解Go的channel底層原理圖解Go
- Go死鎖——當Channel遇上Mutex時GoMutex
- 【Go進階—資料結構】ChannelGo資料結構
- Go實戰-基於Go協程和channel的使用Go
- go嘗試從channel c接收資料,並檢查channel是否關閉Go
- Go 中的 channel 怎麼實現的?Go
- Go基礎系列:雙層channel用法示例Go
- 十.Go併發程式設計--channel使用Go程式設計
- 如何優雅的關閉Go Channel「譯」Go
- GO 指標*&問題疑問Go指標
- defer問題——面試Go必看面試Go
- Go TCP 粘包問題GoTCP
- go熱更新問題求助Go
- go除錯的問題。Go除錯
- go path 存在的問題Go
- 用 Go 語言 buffered channel 實作 Job QueueGo
- 清華尹成帶你實戰GO案例(21)Go 並行通道ChannelGo並行
- go mod init報錯問題Go
- Go mod 使用遇到的問題Go
- Go mod 相容性問題Go
- go的演算法問題Go演算法