Что будет если читать из закрытого канала в Golang?

Пользователь

от corene.lang , в категории: Вопросы от знатоков , 2 года назад

Что будет если читать из закрытого канала в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от elena , 2 года назад

@corene.lang Если канал закрыт, то Вы не получите значение из Вашего канала, т.к. канал закрыт, посмотрите пример ниже, если я правильно понял вопрос:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
package main

import "fmt"

func main() {
   c := make(chan int)

   go func(ch <-chan int) {
      fmt.Println("test")
      c <- 1
   }(c)
   // Закрываем канал
   close(c)

   // Вывод: 0
   fmt.Println(<-c)
}