Sobes.tech
Junior — Middle

Ποιος είναι ο σκοπός της λέξης-κλειδιού 'default' μέσα σε μια κατασκευή select;

sobes.tech AI

Απάντηση από AI

Στη δομή select στη Go, η λέξη-κλειδί default χρησιμοποιείται για να χειριστεί την περίπτωση όπου κανένα από τα κανάλια δεν είναι έτοιμο για μια λειτουργία (ανάγνωση ή εγγραφή). Αν κανένα κανάλι δεν είναι διαθέσιμο, το μπλοκ default εκτελείται αμέσως, αποφεύγοντας το μπλοκάρισμα της goroutine.

Παράδειγμα:

select {
case msg := <-ch1:
    fmt.Println("Λήφθηκε μήνυμα από το ch1:", msg)
case ch2 <- 42:
    fmt.Println("Μήνυμα αποστάλθηκε στο ch2")
default:
    fmt.Println("Κανένα κανάλι δεν είναι έτοιμο, εκτελείται το default")
}

Έτσι, το default επιτρέπει την μη μπλοκαριστική επιλογή καναλιών.