tgoop.com/go_interview_lib/528
Create:
Last Update:
Last Update:
Go-разработчики часто используют следующую конструкцию:
f, err := os.Create("file.txt")
if err != nil {
return err
}
defer f.Close()
Однако, для файлов с возможностью записи это может быть опасно, так как метод
Close()
может вернуть ошибку, которая игнорируется при использовании defer.
Ошибки могут возникать на этапе закрытия файла, когда система завершает запись данных на диск. Чтобы избежать потери данных, важно проверять ошибки явным образом:
f, err := os.Create("file.txt")
if err != nil {
return err
}
if _, err := f.Write([]byte("Hello, world!")); err != nil {
f.Close()
return err
}
return f.Close()
Использование
defer
безопасно для чтения, но для записи стоит быть осторожнее и проверять ошибки вручную.👉 Подробнее
BY Библиотека Go для собеса | вопросы с собеседований
Share with your friend now:
tgoop.com/go_interview_lib/528