Sobes.tech
Junior — Middle

Mis juhtub programmis, kui proovite lugeda suletud kanalilt Go-s?

sobes.tech AI

Vastus AI-lt

Kui proovite Go-s sulgunud kanalilt lugeda, tagastab lugemisoperatsioon kanali tüübi nullväärtuse ja false teise tagastatava väärtusena, kui kasutatakse kahe tagastatava väärtusega süntaksit:

v, ok := <-ch

Siin on ok false, mis tähendab, et kanal on suletud ja rohkem andmeid ei tule.

Kui loete sulgunud kanalilt ilma ok kontrollimata, saate kanali tüübi nullväärtuse (näiteks 0 int puhul).

Oluline: sulgunud kanalilt lugemine ei blokeeru ja ei põhjusta pööret, vaid tagastab kohe nullväärtuse ja false.