26 lines
887 B
Go
26 lines
887 B
Go
// В [предыдущем](range) примере мы виделе как `for` и
|
||
// `range` позволяют перебирать базовые структуры. Мы
|
||
// так же можем использовать этот синтаксис для чтения
|
||
// значений из канала.
|
||
|
||
package main
|
||
|
||
import "fmt"
|
||
|
||
func main() {
|
||
|
||
// Мы будем итерировать 2 значения в канале `queue`.
|
||
queue := make(chan string, 2)
|
||
queue <- "one"
|
||
queue <- "two"
|
||
close(queue)
|
||
|
||
// Этот `range` будет перебирать каждый элемент
|
||
// полученный из канала `queue`. Но т.к. мы `закрыли`
|
||
// канал ранее, перебор элементов завершится после
|
||
// получения двух элементов.
|
||
for elem := range queue {
|
||
fmt.Println(elem)
|
||
}
|
||
}
|