gooroutine is have a priority or not？
<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>