Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpChPrm 166 of 280 menu
◀ ▶

Практика на каналы в Go

Дан следующий код:

ch := make(chan int)

Запустите ветку, которая примет одно число и выведет его; в main отправьте 15.

Дан следующий код:

ch := make(chan string, 2) ch <- "one" ch <- "two"

Выведите обе строки двумя приемами в том порядке, как они лежат в буфере.

Дан следующий код:

ch := make(chan int) go func() { ch <- 4 ch <- 8 }()

Завершите канал со стороны отправителя после двух чисел и выведите все значения циклом по каналу.

Дан следующий код:

ready := make(chan int, 1) wait := make(chan int) ready <- 1

С помощью конструкции с двумя ветками приема выведите число из ready, не блокируясь на wait.

Дан следующий код:

func fill(ch chan<- int) { ch <- 11 } func read(ch <-chan int) { fmt.Println(<-ch) }

В main свяжите канал, запустите fill в ветке и вызовите read.

Дан следующий код:

done := make(chan struct{}) go func() { fmt.Println("job") }()

По окончании ветки завершите done, в main дождитесь приема и напечатайте "end".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить