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.