Sobes.tech
Junior — Middle

Ako určiť aktuálnu dĺžku fronty v kanáli?

sobes.tech AI

Odpoveď od AI

V jazyku Go je možné dĺžku aktuálnej fronty v kanáli určiť pomocou vstavané funkcie len(). Táto funkcia vráti počet prvkov, ktoré sa momentálne nachádzajú v buffri kanála (t.j. počet správ čakajúcich na prijatie). Napríklad:

ch := make(chan int, 5)
ch <- 1
ch <- 2
fmt.Println(len(ch)) // Vypíše 2

Dôležité: len() funguje iba pre bufferované kanály, pre nebufferované je vždy 0.