Разница между небуферизованными и буферизованными каналами будет равна
- Отправка на канал заблокирована
- Получение от канала заблокировано
Для небуферизованных каналов
Отправка будет заблокирована, если канал уже отправил сообщение и еще не был получен.
Получения будут заблокированы, если отправок не было.
Для буферизованных каналов
Отправка будет заблокирована, если уже n (размер канала) отправка произошла и ни одна из них не получена. т.е. весь размер канала был использован при отправке сообщений, но ничего не было получено.
Получения будут заблокированы, если буфер пуст, т.е. не имеет никаких неиспользованных отправок
Ошибки времени выполнения
Прием заблокированных выдает ошибку ниже
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
Отправка заблокирована приведет к ошибке ниже
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]: