Sobes.tech
Junior — Middle

Jak lze určit aktuální délku fronty v kanálu?

sobes.tech AI

Odpověď od AI

V jazyce Go lze délku aktuální fronty v kanálu určit pomocí vestavěné funkce len(). Ta vrací počet prvků, které se momentálně nacházejí v bufferu kanálu (tedy počet zpráv čekajících na přijetí). Například:

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

Důležité: len() funguje pouze pro bufferované kanály, pro nebufferované je vždy 0.