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

Функция os.Open

Функция os.Open открывает файл для чтения. В качестве единственного параметра она принимает путь к файлу в виде строки. При успешном открытии функция возвращает указатель на os.File и nil в качестве ошибки. Если файл не найден или нет прав доступа, возвращается ошибка типа *fs.PathError.

Синтаксис

func Open(name string) (*os.File, error)

Пример

Откроем файл "example.txt" для чтения и выведем его имя:

package main import ( "fmt" "os" ) func main() { file, err := os.Open("example.txt") if err != nil { fmt.Println(err) return } defer file.Close() fmt.Println(file.Name()) }

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

"example.txt"

Пример

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

package main import ( "fmt" "os" ) func main() { file, err := os.Open("missing.txt") if err != nil { fmt.Printf("Error: %v\n", err) return } defer file.Close() fmt.Println("File opened successfully") }

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

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

Пример

Прочитаем содержимое открытого файла с использованием os.File и выведем его в консоль:

package main import ( "fmt" "io" "os" ) func main() { file, err := os.Open("example.txt") if err != nil { fmt.Println(err) return } defer file.Close() data, err := io.ReadAll(file) if err != nil { fmt.Println(err) return } fmt.Printf("File content: %s\n", string(data)) }

Результат выполнения кода (если файл содержит текст "Hello, World!"):

"File content: Hello, World!"

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

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