Sobes.tech
Junior — Middle

Mi történik egy programban, ha megpróbálsz olvasni egy zárt csatornából Go-ban?

sobes.tech MI

Válasz az MI-től

Ha megpróbálsz olvasni egy zárt csatornából Go-ban, az olvasási művelet null értéket ad vissza a csatorna típusából és false-t a második visszatérési értékben, ha két visszatérő értékkel rendelkező szintaxist használsz:

v, ok := <-ch

Itt az ok értéke false lesz, ami azt jelenti, hogy a csatorna zárt, és több adat nem fog érkezni.

Ha zárt csatornából olvasol ok ellenőrzése nélkül, akkor a csatorna típusának null értékét kapod (például 0 az int-hez).

Fontos: a zárt csatornából való olvasás nem blokkol és nem okoz pánikot, hanem azonnal visszaadja a null értéket és false-t.