Sobes.tech
Senior

// 5. kérdés. Mit fog kiírni a képernyőre func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }

sobes.tech MI

Válasz az MI-től

Ez a kód létrehoz egy ch nevű pufferelt csatornát, mérete 5, és ír bele számokat 1-től 5-ig. Ezután egy végtelen ciklus olvas a csatornából és kiírja az értékeket.

Mivel a csatorna pontosan 5 elemmel van megtöltve, az első 5 olvasás a csatornából ki fogja írni az 1, 2, 3, 4, 5 számokat.

Ezután a csatorna üres lesz, és a <-ch operátor a végtelen ciklusban blokkolódik, várva új adatokra, amelyek nem érkeznek meg, mivel a kódban nincs új érték küldése.

Végül a program kiírja az 1-től 5-ig tartó számokat egyenként, majd megáll, várva az adatokra egy üres csatornából.

Példa kimenet:

1
2
3
4
5