Что вернёт чтение из закрытого канала?

В языке Go при чтении из закрытого канала возвращается нулевое значение типа канала и значение false во втором возвращаемом параметре, если используется синтаксис с двумя возвращаемыми значениями.

Короткий ответ

Что ответить на собеседовании

В языке Go при чтении из закрытого канала возвращается нулевое значение типа канала и значение false во втором возвращаемом параметре, если используется синтаксис с двумя возвращаемыми значениями. Это позволяет определить, что канал закрыт и больше не будет отправлять данные.

Подробный разбор

Ответ с пояснениями

В языке Go при чтении из закрытого канала возвращается нулевое значение типа канала и значение false во втором возвращаемом параметре, если используется синтаксис с двумя возвращаемыми значениями. Это позволяет определить, что канал закрыт и больше не будет отправлять данные.

Пример:

ch := make(chan int)
close(ch)

v, ok := <-ch
fmt.Println(v, ok) // Выведет: 0 false

Здесь v — нулевое значение типа int (то есть 0), а ok — false, что сигнализирует о закрытии канала.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку