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.