1 package main 2 3 import ( 4 "fmt" 5 "time" 6 ) 7 8 func spawn ( ) chan int { 9 result : = make ( chan int ) 10 11 go func ( ) { 12 time . Sleep ( 3 * time . Second ) 13 result < - 99 14 } ( ) 15 16 return result 17 } 18 19 func main ( ) { 20 begin : = time . Now ( ) 21 22 _ , _ = < - spawn ( ) , < - spawn ( ) 23 24 fmt . Println ( int ( time . Since ( begin ) . Seconds ( ) ) ) 25 } Чем закончится программа? Выведет программа завершится и напечатает… Паника напечатает до паники, потом panic Deadlock all goroutines are asleep Не скомпилируется ошибка компиляции Гонка данных -race найдёт data race Недетерминировано вывод меняется от запуска к запуску Зависнет не завершится, но и не deadlock
Проверить Сначала подумай без запуска — на собесе компилятора не будет.