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

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

Константа os.O_RDWR используется при открытии файлов и указывает, что файл должен быть открыт одновременно для чтения и записи. Она передается в функцию os.OpenFile в качестве второго аргумента - флага доступа. При использовании этой константы с другими флагами, такими как os.O_CREATE или os.O_APPEND, задается комбинированный режим работы с файлом.

Синтаксис

os.OpenFile(name, os.O_RDWR, perm)

Пример

Давайте откроем существующий файл для чтения и записи, прочитаем его содержимое и добавим новую строку:

package main import ( "fmt" "os" ) func main() { file, err := os.OpenFile("example.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } defer file.Close() data := make([]byte, 100) n, err := file.Read(data) if err != nil { fmt.Println(err) return } fmt.Printf("Read %d bytes: %s", n, data[:n]) _, err = file.WriteString("\nNew line") if err != nil { fmt.Println(err) return } fmt.Println("Data written successfully") }

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

"Read 23 bytes: Existing file content" "Data written successfully"

Пример

Давайте создадим новый файл и откроем его для чтения и записи с использованием комбинированных флагов:

package main import ( "fmt" "os" ) func main() { file, err := os.OpenFile( "newfile.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666, ) if err != nil { fmt.Println(err) return } defer file.Close() _, err = file.WriteString("Hello, World!") if err != nil { fmt.Println(err) return } data := make([]byte, 100) n, err := file.Seek(0, 0) if err != nil { fmt.Println(err) return } fmt.Printf("Seek position: %d\n", n) count, err := file.Read(data) if err != nil { fmt.Println(err) return } fmt.Printf("Read content: %s", data[:count]) }

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

"Seek position: 0" "Read content: Hello, World!"

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

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