Junior — Middle
Πώς καθορίζουμε ότι μια ροή δεδομένων ή ένα κανάλι ολοκληρώθηκε κατά τη διάρκεια της ανάγνωσης;
sobes.tech AI
Απάντηση από AI
Στο Go, κατά την ανάγνωση από ένα ρεύμα (π.χ., από io.Reader), το τέλος των δεδομένων ή το κλείσιμο του καναλιού καθορίζεται από το επιστρεφόμενο σφάλμα io.EOF. Αυτή είναι η τυπική μέθοδος για να καταλάβετε ότι το ρεύμα έχει ολοκληρωθεί.
Παράδειγμα:
buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
// το ρεύμα δεδομένων έχει ολοκληρωθεί
} else if err != nil {
// επεξεργασία άλλων σφαλμάτων
} else {
// επεξεργασία των διαβασμένων δεδομένων
}
Έτσι, ο έλεγχος για io.EOF επιτρέπει να προσδιορίσετε ότι το ρεύμα ή το κανάλι ολοκλήρωσε τη δουλειά του κατά τη διάρκεια της ανάγνωσης.