Sobes.tech
Junior — Middle

Kako završiti rad sa kanalom u programu?

sobes.tech АИ

Одговор од АИ

U Go jeziku, za završetak rada sa kanalom koristi se funkcija close(). Zatvaranje kanala signalizira primaocima da više neće biti poslata nova vrednost. Nakon zatvaranja kanala, pokušaj slanja u njega izazvaće paniku, ali čitanje iz zatvorenog kanala je moguće — vratiće nultu vrednost i false kao drugi povratni parametar.

Primer:

ch := make(chan int)
ngo func() {
    ch <- 42
    close(ch) // Zatvaramo kanal nakon slanja
}()

for val := range ch {
    fmt.Println(val) // Ispisaće 42
}

Dakle, da biste završili rad sa kanalom, potrebno je pozvati close(channel).