Sobes.tech
Back to questions
Junior — Middle
84

Можно ли создать канал без указания его размера в процессе инициализации?

Answer from AI

sobes.tech AI

Да, в Go можно создать канал без указания его размера — это будет небуферизированный канал. Такой канал блокирует отправителя до тех пор, пока получатель не прочитает значение, и наоборот. Пример создания небуферизированного канала:

ch := make(chan int) // канал без буфера

Если нужно создать буферизированный канал с определённым размером, то указывается второй параметр:

ch := make(chan int, 10) // канал с буфером на 10 элементов

Таким образом, размер канала по умолчанию равен нулю, и он работает как синхронизирующий механизм между горутинами.