package main

import "fmt"

func main() {
	ch := make(chan int)
	selesai := make(chan bool)

	// produsen: kirim tiga nilai lalu tutup channel
	go func() {
		for i := 1; i <= 3; i++ {
			ch <- i
		}
		close(ch)
	}()

	// konsumen: terima nilai sampai channel ditutup
	go func() {
		for v := range ch {
			fmt.Println("menerima:", v)
		}
		selesai <- true
	}()

	<-selesai

	v, ok := <-ch
	fmt.Printf("setelah close: nilai=%d ok=%v\n", v, ok)
}
