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.