Sobes.tech
Junior — Middle

Jak można określić obecną długość kolejki w kanale?

sobes.tech AI

Odpowiedź od AI

W Go długość bieżącej kolejki w kanale można określić za pomocą wbudowanej funkcji len(). Zwraca ona liczbę elementów, które obecnie znajdują się w buforze kanału (czyli liczbę wiadomości oczekujących na odebranie). Na przykład:

ch := make(chan int, 5)
ch <- 1
ch <- 2
fmt.Println(len(ch)) // Wyświetli 2

Ważne: len() działa tylko dla kanałów z buforem, dla kanałów bez bufora zawsze będzie 0.