Junior — Middle
Πώς μπορεί να ολοκληρωθεί η εργασία με ένα κανάλι στο πρόγραμμα;
sobes.tech AI
Απάντηση από AI
Στη Go, για να ολοκληρώσετε τη χρήση ενός καναλιού, χρησιμοποιείται η συνάρτηση close(). Το κλείσιμο ενός καναλιού σηματοδοτεί στους λήπτες ότι δεν θα αποσταλούν πλέον νέες τιμές. Μετά το κλείσιμο του καναλιού, η προσπάθεια αποστολής σε αυτό θα προκαλέσει panic, αλλά η ανάγνωση από ένα κλειστό κανάλι είναι δυνατή — θα επιστρέψει μια μηδενική τιμή και false ως δεύτερη τιμή επιστροφής.
Παράδειγμα:
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // Κλείνουμε το κανάλι μετά την αποστολή
}()
for val := range ch {
fmt.Println(val) // Θα εμφανίσει 42
}
Έτσι, για να ολοκληρώσετε τη χρήση ενός καναλιού, πρέπει να καλέσετε close(channel).