Junior — Middle
Jak określić, czy strumień danych lub kanał zakończył swoją pracę podczas odczytu?
sobes.tech AI
Odpowiedź od AI
W Go, podczas odczytu z strumienia (np. z io.Reader), koniec danych lub zamknięcie kanału jest określane przez zwracany błąd io.EOF. Jest to standardowy sposób zrozumienia, że strumień się zakończył.
Przykład:
buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
// strumień danych się zakończył
} else if err != nil {
// obsługa innych błędów
} else {
// obsługa odczytanych danych
}
W związku z tym, sprawdzanie io.EOF pozwala określić, że strumień lub kanał zakończył swoją pracę podczas odczytu.