Что такое файловый дескриптор, как его получить и что он представляет собой?

Файловый дескриптор — это целочисленный идентификатор, который операционная система использует для управления открытыми файлами, сокетами или другими ресурсами ввода-вывода.

Короткий ответ

Что ответить на собеседовании

Файловый дескриптор — это целочисленный идентификатор, который операционная система использует для управления открытыми файлами, сокетами или другими ресурсами ввода-вывода. В Unix-подобных системах при открытии файла процессу возвращается файловый дескриптор, который затем используется для чтения, записи или закрытия файла.

Подробный разбор

Ответ с пояснениями

Файловый дескриптор — это целочисленный идентификатор, который операционная система использует для управления открытыми файлами, сокетами или другими ресурсами ввода-вывода. В Unix-подобных системах при открытии файла процессу возвращается файловый дескриптор, который затем используется для чтения, записи или закрытия файла.

В Go файловые дескрипторы скрыты за типом *os.File, но при необходимости можно получить их через метод Fd():

file, err := os.Open("example.txt")
if err != nil {
    // обработка ошибки
}
fd := file.Fd() // возвращает uintptr с дескриптором

Файловые дескрипторы ограничены по количеству, поэтому важно закрывать файлы после использования, чтобы избежать утечек ресурсов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее