Go routine patterns - For Select

tags: learning go programming

content

for select pattern

func child(done <-chan bool) {
	for {
		select {
		case <-done:
			fmt.Println("done received")
			return  
		default:
			// do work
		}
	}
}
func main() {
	done := make(chan bool)
	defer close(done)
	go child(done)
	// do something
	done <- true
}

up

down

reference