Sobes.tech
Junior — Middle

Ποια τιμή επιστρέφει ένα κλειστό κανάλι σε μια γλώσσα προγραμματισμού;

sobes.tech AI

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

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

Παράδειγμα:

ch := make(chan int)
close(ch)

v, ok := <-ch
fmt.Println(v, ok) // Θα εμφανίσει: 0 false

Εδώ, το v είναι η τιμή μηδέν του τύπου int (δηλαδή 0), και το ok είναι false, που σηματοδοτεί ότι το κανάλι είναι κλειστό.