title: gooroutine is have a priority or not？
body: <p>Golang fish，Seeking explanation.</p>
  
  <p>Goroutine is have a priority or not？</p>
  
  <pre><code>package main
  
  import (
    "fmt"
  )
  
  func sum(a []int, c chan int) {
    var total int
    for _, v := range a {
      total += v
    }
    c &lt;- total
  }
  
  func main() {
    a := []int{7, 2, 8, -9, 4, 0}
    c := make(chan int)
    go sum(a[:len(a)/2], c)
    go sum(a[len(a)/2:], c)
  
    // x, y := &lt;-c, &lt;-c
    x := &lt;-c
    y := &lt;-c
    fmt.Println(x, y, x+y)
  }
  </code></pre>
  
  <p>why the x is -5 y is 17，is not the first goroutine blocked?
  if  </p>
  
  <pre><code>go sum(a[:len(a)/2], c)
  x := &lt;-c
  go sum(a[len(a)/2:], c)
  y := &lt;-c
  </code></pre>
  
  <p>this order is right. why。。。</p>