这段代码不会输出爬到了1
![2019-01-12 21-03-32屏幕截图.png](https://static.studygolang.com/190112/273380ef95a2ff14579fb1c1a64ee8e1.png)
这段代码会输出爬到了1,
![2019-01-12 21-05-03屏幕截图.png](https://static.studygolang.com/190112/85385f05c2e30299ba38b8bf136a2603.png)
各位老哥,帮忙分析一下这里面协程的调度情况
你遇到的这个问题应该不是for和协程的问题.
```
func main() {
for i := 0; i < 1; i++ {
go func(i int) {
defer func() {
fmt.Println("end-----")
}()
fmt.Printf("%d goroutine\n", i)
res, err := http.Get("http://www.baidu.com") // 这里使用http正常,当使用https时和你的情况类似
if err != nil {
panic(err)
}
fmt.Println(res)
}(i)
}
for {
}
}
```
不过还是很难解释你遇到的问题
#3
更多评论
每次循环加上time.Sleep(time.Duration(2)*time.Second),让main等待协程启动,不然协程还没启动主函数就执行完了,就启动不了了
#1