Несколько месяцев обучения. Я просто обнаружил, что os.File
реализует интерфейс io.Reader
реализуя функцию Read(b []byte) (n int, err error)
. Это позволяет мне использовать буферный считыватель для чтения файла, например:
f, err := os.Open("myfile.txt")
bufReader := bufio.NewReader(f)
Если я пропустил это, похоже, что в документах Go на интерфейсах нет "Все известные классы реализации", как и в документации по интерфейсам Java.
Есть ли способ идентифицировать типы, реализующие интерфейс в Go?