Bootstrap

《零基础Go语言算法实战》【题目 2-27】goroutine 的使用问题

《零基础Go语言算法实战》

【题目 2-27】goroutine 的使用问题

请说出下面的代码存在什么问题。

package main

import (

 "fmt"

)

func main() {

 ch := make(chan int, 100)

 for i := 0; i < 10; i++ {

 ch <- i

 }

 go func() {

 for i := range ch {

 fmt.Println("i: ", i)

 }

 }()

 close(ch)

 fmt.Println("closed")

}

【解答】

以上代码只会输出 closed,因为 goroutine 可能还未启动,通道就关闭了。

c678bae114af499296b99c3df68ceb6f.png

 

 

;