select {} (пустой select без case)?Пустой select {} блокирует горутину навсегда: нет ни одного case, который мог бы сработать.
В main, когда вся работа в других горутинах (HTTP-сервер, воркеры), нужно предотвратить выход из main. Пустой select не потребляет CPU в отличие от for {}.
func main() {
go http.ListenAndServe(":8080", nil)
select {} // блокировка навсегда
}