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.