Junior — Middle
Πώς μπορεί να προσδιοριστεί το τρέχον μήκος της ουράς σε ένα κανάλι;
sobes.tech AI
Απάντηση από AI
Στη Go, το μήκος της τρέχουσας ουράς σε ένα κανάλι μπορεί να προσδιοριστεί χρησιμοποιώντας τη ενσωματωμένη λειτουργία len(). Αυτή επιστρέφει τον αριθμό των στοιχείων που βρίσκονται αυτήν τη στιγμή στη μπαταρία του καναλιού (δηλαδή, τον αριθμό των μηνυμάτων που αναμένουν να ληφθούν). Για παράδειγμα:
ch := make(chan int, 5)
ch <- 1
ch <- 2
fmt.Println(len(ch)) // Θα εμφανίσει 2
Σημαντικό: Το len() λειτουργεί μόνο για buffered κανάλια, για μη buffered πάντα θα είναι 0.