Sobes.tech
Junior — Middle

Как може да се определи текущата дължина на опашката в канал?

sobes.tech AI

Отговор от AI

В Go, дължината на текущата опашка в канал може да се определи с помощта на вградената функция len(). Тя връща броя на елементите, които в момента се намират в буфера на канала (т.е. броя на съобщенията, чакащи да бъдат получени). Например:

ch := make(chan int, 5)
ch <- 1
ch <- 2
fmt.Println(len(ch)) // Ще изведе 2

Важно: len() работи само за буферирани канали, за небуферираните винаги ще бъде 0.