Junior — Middle
Как може да се управлява размерът на буфера в канал?
sobes.tech AI
Отговор от AI
В Go размерът на буфера на канала се задава при създаването му с помощта на функцията make. Ако посочите втория параметър, това ще бъде размерът на буфера, т.е. броят на елементите, които каналът може да съхранява без да блокира изпращача.
Пример за създаване на буфериран канал с размер на буфера 5:
ch := make(chan int, 5)
Ако буферът е пълен, изпращането към канала се блокира, докато някой не прочете от канала. Ако буферът е 0 (или параметърът не е указан), каналът е без буфер и изпращането се блокира, докато не бъде получена стойност.
Така управлението на размера на буфера се свежда до посочване на втория параметър при създаването на канала.