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

Функция fs.ReadFile

Функция fs.ReadFile читает содержимое файла и возвращает его в виде байтового среза. В первый параметр функция принимает файловую систему fs.FS, во второй параметр - путь к файлу. Функция возвращает байтовый срез с содержимым файла и ошибку. Если файл не существует или не может быть прочитан, функция возвращает ошибку. Эта функция особенно полезна для работы с встроенными файлами и файловыми системами, реализующими интерфейс fs.ReadFileFS.

Синтаксис

fs.ReadFile(fsys, name)

Пример

Давайте прочитаем содержимое файла "data.txt" с помощью встроенной файловой системы:

package main import ( "fmt" "io/fs" "os" ) func main() { content, err := fs.ReadFile(os.DirFS("."), "data.txt") if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(content)) }

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

"Hello, World!"

Пример

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

package main import ( "fmt" "io/fs" "os" ) func main() { content, err := fs.ReadFile(os.DirFS("."), "nonexistent.txt") if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(content)) }

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

"Error: open nonexistent.txt: file does not exist"

Пример

Давайте прочитаем файл и проверим его содержимое:

package main import ( "fmt" "io/fs" "os" ) func main() { content, err := fs.ReadFile(os.DirFS("."), "config.json") if err != nil { fmt.Println("Error:", err) return } if len(content) > 0 { fmt.Println("File size:", len(content), "bytes") fmt.Println("First 50 chars:", string(content[:min(50, len(content))])) } } func min(a, b int) int { if a < b { return a } return b }

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

"File size: 256 bytes" "First 50 chars: {\"name\":\"test\",\"value\":123,\"enabled\":true}"

Пример

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

package main import ( "embed" "fmt" "io/fs" ) //go:embed configs/*.json var configFS embed.FS func main() { content, err := fs.ReadFile(configFS, "configs/app.json") if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(content)) }

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

"{\"version\":\"1.0.0\",\"debug\":true}"

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

  • функцию os.ReadFile,
    которая читает файл напрямую из файловой системы ОС
  • функцию os.WriteFile,
    которая записывает данные в файл
  • функцию fs.ReadDir,
    которая читает содержимое директории
  • функцию io.ReadAll,
    которая читает все данные из ридера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить