os.File — основной тип для работы с файлами в Go. Создаёшь через os.Open (только чтение), os.Create (создание/перезапись), os.OpenFile (полный контроль: флаги и permissions). os.File реализует io.Reader, io.Writer, io.Closer — можно передавать в любую функцию, работающую с этими интерфейсами. Есть методы Read, Write, Seek, Stat (метаданные), Sync (flush на диск). Всегда закрывай через defer. Для ошибок "файл не найден" проверяй os.IsNotExist(err), хотя с Go 1.13 лучше errors.Is(err, os.ErrNotExist).