Junior — Middle
Se poate crea un canal fără a specifica dimensiunea sa în timpul inițializării?
sobes.tech AI
Răspuns de la AI
Да, в Go можно создать канал без указания его размера — это будет небуферизированный канал. Такой канал блокирует отправителя до тех пор, пока получатель не прочитает значение, и наоборот. Пример создания небуферизированного канала:
ch := make(chan int) // канал без буфера
Если нужно создать буферизированный канал с определённым размером, то указывается второй параметр:
ch := make(chan int, 10) // канал с буфером на 10 элементов
Таким образом, размер канала по умолчанию равен нулю, и он работает как синхронизирующий механизм между горутинами.