select: отправка в закрытый канал против чтения из закрытого

Что выведетMiddleпроверка — Спринт07-t014

Оба канала уже закрыты. Что выведет select между отправкой в закрытый буферизованный канал и чтением из другого закрытого канала? Что изменится, если doneCh не закрывать? А если добавить default?

main.gogo
1package main2 3import "fmt"4 5func main() {6	outCh := make(chan string, 1)7	close(outCh)8	doneCh := make(chan struct{})9	close(doneCh)10 11	select {12	case outCh <- "ping":13		fmt.Println("ping sent")14	case <-doneCh:15		fmt.Println("shutdown received")16	}17}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.