go channel問題

ilmari發表於2016-11-09
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,這是為啥

更多原創文章乾貨分享,請關注公眾號
  • go channel問題
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章