Эйч
Эйч
  • Все менторы
Задачи/Go-разработчик/Исправить панику при отправке в закрытый канал

Исправить панику при отправке в закрытый канал

Условие задачи

В представленном коде возникает паника panic: send on closed channel, так как main закрывает канал ch, не дождавшись завершения горутины, которая в это время пытается отправить в канал значение. Исправить поведение таким образом, чтобы программа завершалась корректно.

gopackage main

import (
 "fmt"
 "time"
)

func main() {
 ch := make(chan int)

 go func() {
  ch <- 1
 }()

 time.Sleep(time.Millisecond * 500)
 close(ch)

 for i := range ch {
  fmt.Println(i)
 }

 time.Sleep(time.Millisecond * 100)
}

Профессия

Go-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта