Skąd wiedzieć, że połączenie TCP jest zamknięte w pakiecie sieci Golang?

Jestem nowy w Golang.

Implementuję mały serwer TCP i skąd mam wiedzieć, czy jeden z moich klientów się zamknął? Czy powinienem po prostu spróbować czytać lub pisać i sprawdzać, czy błąd jest zerowy?