Junior — Middle
Kann man einen Kanal erstellen, ohne seine Größe während der Initialisierung anzugeben?
sobes.tech KI
Antwort von AI
Да, в Go можно создать канал без указания его размера — это будет небуферизированный канал. Такой канал блокирует отправителя до тех пор, пока получатель не прочитает значение, и наоборот. Пример создания небуферизированного канала:
ch := make(chan int) // канал без буфера
Если нужно создать буферизированный канал с определённым размером, то указывается второй параметр:
ch := make(chan int, 10) // канал с буфером на 10 элементов
Таким образом, размер канала по умолчанию равен нулю, и он работает как синхронизирующий механизм между горутинами.