Sobes.tech
Junior — Middle

Hogyan lehet befejezni az adatok olvasását egy csatornából a programozásban?

sobes.tech MI

Válasz az MI-től

Go nyelvben az olvasás befejezéséhez egy csatornából általában a close() függvény segítségével zárjuk le a csatornát. Amikor a csatorna zárva van, az abból való olvasási kísérlet null értéket és false-t ad vissza a második értékként, ami lehetővé teszi az adatok végét jelző felismerést.

Példa:

ch := make(chan int)
go func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch) // jelezzük, hogy több adat nincs
}()

for val := range ch {
    fmt.Println(val) // olvas addig, amíg a csatorna nyitva van
}

Ebben a példában a for val := range ch ciklus automatikusan befejeződik, amikor a csatorna zárva van és minden adat olvasva lett.