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() λειτουργεί μόνο για buffered κανάλια, για μη buffered πάντα θα είναι 0.