golang已关闭channel

golang 向已关闭的 channel 发送数据会造成 panic

package main

import (
	"fmt"
	"time"
)

func main() {
	ch := make(chan int)
	for i := 0; i < 3; i++ {
		go func(idx int) {
			ch <- idx
		}(i)
	}
	fmt.Println(<-ch)	
	close(ch)			
	time.Sleep(2 * time.Second)	
}

运行出错:panic: send on closed channel

猜你喜欢

转载自blog.csdn.net/ma2595162349/article/details/109017881
今日推荐