Golang关闭管道

package main

import (
	"fmt"
)

func main() {
	c := make(chan int)
	go func() {
		for i := 0; i < 5; i++ {
			c <- i
		}
		// 关闭channel
		close(c)
	}()

	for {
		// ok为true表示 channel没有关闭,如果为false表示 channel已经关闭
		if data, ok := <-c; ok {
			fmt.Println(data)
		} else {
			break
		}
	}
	fmt.Println("main finished")
}

猜你喜欢

转载自blog.csdn.net/qq2942713658/article/details/115272380