관심있는 것들 정리

Golang 연습 6 (channel close check) 본문

programming/Golang

Golang 연습 6 (channel close check)

내공강화 2021. 1. 26. 09:31

Channel이 닫혔는지 확인하기 위해, Channel에서 값을 받으려 한 후 결과 체크

package main

import (
	"fmt"
)

func main() {
	ch := make(chan int, 1) // create sync channel

	go func() {
		ch <- 1
	}()

	if a, ok := <-ch; ok {
		fmt.Println(a, ok)
	}
	close(ch)

	if a, ok := <-ch; ok {
		fmt.Println(a, ok)
	} else {
		fmt.Println("Channel is closed")
	}
}
반응형