Назад к вопросам
СБЕР
Middle
3
Что происходит при чтении/записи в закрытый канал? Какое zero value для строки и слайса?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
При чтении из закрытого канала в Go операция чтения возвращает zero value для типа канала и false, что сигнализирует о закрытии канала. Запись в закрытый канал приводит к панике (panic).
Zero value для строки — пустая строка "".
Zero value для слайса — nil с длиной и ёмкостью 0.
Пример чтения из закрытого канала:
ch := make(chan string)
close(ch)
v, ok := <-ch
fmt.Println(v, ok) // Выведет: "" false
Попытка записи:
ch := make(chan string)
close(ch)
ch <- "data" // panic: send on closed channel