Функция os.ReadFile

Функция os.ReadFile читает содержимое файла и возвращает его в виде среза байтов. В первый параметр мы передаем путь к файлу в виде строки. Функция читает весь файл целиком и закрывает его, поэтому нам не нужно вызывать Close вручную. В случае успеха функция возвращает прочитанные данные и nil в качестве ошибки. Если файл не существует или доступ к нему запрещен, функция возвращает nil и ошибку.

Синтаксис

goos.ReadFile(filename)

Пример

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

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  data, err := os.ReadFile("example.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(string(data))
}

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

go"Hello, World!"

Пример

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

gopackage main

import (
  "fmt"
  "os"
  "strings"
)

func main() {
  data, err := os.ReadFile("example.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  content := string(data)
  if strings.Contains(content, "Hello") {
    fmt.Println("File contains 'Hello'")
  }
}

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

go"File contains 'Hello'"

Пример

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

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  data, err := os.ReadFile("nonexistent.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(string(data))
}

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

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

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

  • функцию os.WriteFile,
    которая записывает данные в файл
  • функцию os.Open,
    которая открывает файл для чтения
  • функцию os.OpenFile,
    которая открывает файл с указанными флагами и правами доступа
  • функцию os.Stat,
    которая возвращает информацию о файле