Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 675 Bytes

File metadata and controls

23 lines (19 loc) · 675 Bytes

Закрытие канала

Закрытие канала:

  • Широковещательное оповещение всех слушателей
  • Не как передача данных ("кто первый встал")

Буферизованный канал при закрытии:

ch := make(chan int, 3)
ch <- 1
ch <- 2
ch <- 3
close(ch)

// Сначала будут прочитаны 1, 2, 3
for v := range ch {
    fmt.Println(v)
}

Особенности:

  • Все горутины получают сигнал о закрытии
  • Буферизованный канал сначала отдает накопленные значения