Sobes.tech
Back to questions
Junior — Middle
84

Можешь перечислить основные свойства и параметры каналов связи?

Answer from AI

sobes.tech AI

В Go каналы — это средство для передачи данных между горутинами, обеспечивающее синхронизацию и коммуникацию. Основные свойства и параметры каналов:

  • Тип данных: канал передаёт значения определённого типа, например chan int для целых чисел.
  • Буферизация: каналы бывают буферизированные и небуферизированные. Небуферизированный канал блокирует отправителя до тех пор, пока получатель не прочитает значение. Буферизированный канал имеет ёмкость, позволяя отправлять несколько значений без блокировки.
  • Направленность: канал может быть двунаправленным (chan T), либо односторонним — только для отправки (chan<- T) или только для получения (<-chan T).

Пример создания буферизированного канала:

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