Range over Channels
Go dilində, range açar sözü channel-lar üzərində dövr etməyə imkan verir. Bu üsul ilə channel bağlanana qədər bütün mesajlar for dövrü ilə oxuna bilər.
package main
import "fmt"
func main() {
queue := make(chan string, 2)
queue <- "one"
queue <- "two"
close(queue)
for elem := range queue {
fmt.Println(elem)
}
}Bu nümunədə:
queueadlı bir channel yaradılır və bu channel-ə iki mesaj göndərilir.closefunksiyası ilə channel bağlanır.Daha sonra,
rangeaçar sözü ilə for dövrü istifadə edərək, channel-dakı bütün mesajlar oxunur.
Output:
one
twoBu nümunədə range açar sözü ilə channel-dakı bütün mesajlar oxundu və close funksiyası ilə channel bağlandıqdan sonra belə, göndərilmiş bütün mesajlar alındı. range dövrü channel bağlanana qədər davam edir və channel-dan yeni mesajlar gəldikcə onları oxuyur.
Last updated