Junior — Middle
Може ли се креирати канал без навођења његове величине током иницијализације?
sobes.tech АИ
Одговор од АИ
Да, в Go можно создать канал без указания его размера — это будет небуферизированный канал. Такой канал блокирует отправителя до тех пор, пока получатель не прочитает значение, и наоборот. Пример создания небуферизированного канала:
ch := make(chan int) // канал без буфера
Если нужно создать буферизированный канал с определённым размером, то указывается второй параметр:
ch := make(chan int, 10) // канал с буфером на 10 элементов
Таким образом, размер канала по умолчанию равен нулю, и он работает как синхронизирующий механизм между горутинами.