Что произойдёт: go func() { panic("boom") }(); time.Sleep(time.Second)?

Middle
149 просмотров
AFK Offer AI

Crash всей программы. Panic в горутине не ловится recover из другой горутины. Каждая горутина должна иметь свой defer/recover. Если горутина паникует без recover — runtime крашит весь процесс. Это by design: неперехваченная паника — фатальная ошибка. Для production: всегда оборачивай горутины в recovery middleware.

Следующий вопрос

Что выведет: var p *int; var i interface{} = p; fmt.Println(p == nil, i == nil)?