Sobes.tech
Junior — Middle

Ako ukončiť čítanie dát z kanála v programovaní?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa na ukončenie čítania z kanála zvyčajne používa zatvorenie kanála pomocou funkcie close(). Keď je kanál zatvorený, pokus o jeho čítanie vráti nulovú hodnotu a false ako druhý parameter, čo umožňuje detekciu konca dát.

Príklad:

ch := make(chan int)
go func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch) // signalizujeme, že dát už nie je
}()

for val := range ch {
    fmt.Println(val) // číta do zatvorenia kanála
}

V tomto príklade sa slučka for val := range ch automaticky ukončí, keď je kanál zatvorený a všetky dáta prečítané.