РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
534 of 1593 menu

Константа os.O_RDONLY

Константа os.O_RDONLY задает режим открытия файла только для чтения. Она используется в качестве аргумента функции os.OpenFile для указания, что файл должен быть открыт для чтения данных, но не для записи. В отличие от функции os.Open, которая автоматически открывает файл только для чтения, константа os.O_RDONLY дает явный контроль над режимом открытия.

Синтаксис

os.OpenFile(name, os.O_RDONLY, 0)

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

Пример

Давайте откроем файл "example.txt" в режиме только для чтения и прочитаем его содержимое:

package main import ( "fmt" "os" ) func main() { file, err := os.OpenFile("example.txt", os.O_RDONLY, 0) if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() // Read file contents data := make([]byte, 100) n, err := file.Read(data) if err != nil { fmt.Println("Error reading file:", err) return } fmt.Println(string(data[:n])) }

Результат выполнения кода:

"Hello, World!"

Пример

Попробуем открыть несуществующий файл в режиме только для чтения:

package main import ( "fmt" "os" ) func main() { file, err := os.OpenFile("nonexistent.txt", os.O_RDONLY, 0) if err != nil { fmt.Println("Error:", err) return } defer file.Close() fmt.Println("File opened successfully") }

Результат выполнения кода:

"Error: open nonexistent.txt: no such file or directory"

Пример

Давайте попробуем записать данные в файл, открытый с константой os.O_RDONLY:

package main import ( "fmt" "os" ) func main() { file, err := os.OpenFile("example.txt", os.O_RDONLY, 0) if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() _, err = file.WriteString("Hello") if err != nil { fmt.Println("Write error:", err) return } fmt.Println("Write successful") }

Результат выполнения кода:

"Write error: bad file descriptor"

Смотрите также

  • константу os.O_WRONLY,
    которая открывает файл только для записи
  • константу os.O_RDWR,
    которая открывает файл для чтения и записи
  • константу os.O_CREATE,
    которая создает файл, если он не существует
  • функцию os.OpenFile,
    которая открывает файл с указанными флагами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить