Sobes.tech
Junior — Middle

Care este rolul steagului atunci când încerci să citești dintr-un canal închis într-un limbaj de programare?

sobes.tech AI

Răspuns de la AI

În Go, la citirea dintr-un canal, operațiunea returnează două valori: valoarea în sine și un semnal boolean care indică dacă canalul este deschis.

Dacă canalul este închis și toate valorile au fost deja citite, citirea returnează valoarea zero a tipului și false.

Exemplu:

value, ok := <-ch
if !ok {
    // Canalul este închis, citirea suplimentară nu este posibilă
}

Astfel, semnalul ok ajută la determinarea dacă transmiterea datelor prin canal s-a încheiat și dacă trebuie să se oprească citirea.