```go
// You can edit this code!
// Click here and start typing.
package main
import (
"fmt"
"runtime"
"time"
)
func main() {
runtime.GOMAXPROCS(1)
for i := 0; i < 10; i++ {
go func(a int) {
fmt.Println(a)
}(i)
}
time.Sleep(time.Second)
}
```
```shell
9
0
1
2
3
4
5
6
7
8
```
这样的输出结果是怎么调度的?
是最新创建的协程优先执行,最新就会输出9,之后就优先调度执行等待时间最久的吗?