cpp

Каналы. Цикл for...range

Получить все данные из канала до момента его закрытия позволяет следующий формат цикла for:

for <Значение> := range <Канал> {
   <Инструкции>
}
Обратите внимание

Изменим содержимое листинга 18.10 и используем цикл for...range вместо бесконечного цикла (листинг 18.11).

Листинг 18.11. Цикл for...range

package main

import "fmt"

func main() {
   var ch chan int = make(chan int)
   go func() {
      for i := 0; i < 10; i++ {
         ch <- i
      }
      close(ch) // Закрываем канал
   }()
   for v := range ch {
      fmt.Println(v)
   }
   fmt.Println("Конец функции main()")
}

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp