Logo

Developer learning path

Go

Чтение и запись в файлы в Go

Чтение и запись в файлы

24

#description

Одной из частых задач программистов является чтение и запись данных в файлы. Например, при работе с конфигурационными файлами, логами, базами данных и т.д. В этом курсе мы рассмотрим базовые операции чтения и записи файлов в Go.

Для начала работы с файлами в Go необходимо открыть файл. Для этого используется функция os.Open, которая возвращает файловый дескриптор и ошибку, если файл не был найден.

Например, чтобы открыть файл file.txt для чтения:

                    
file, err := os.Open("file.txt")
if err != nil {
    panic(err)
}
defer file.Close()
                  

В этом коде мы использовали функцию defer, чтобы убедиться, что файл будет закрыт после чтения.

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

Например, для чтения файла построчно:

                    
scanner := bufio.NewScanner(file)
for scanner.Scan() {
    line := scanner.Text()
    fmt.Println(line)
}
if err := scanner.Err(); err != nil {
    panic(err)
}
                  

Чтобы записать данные в файл в Go, мы можем использовать функцию os.Create или os.OpenFile для создания или открытия файла с определенными правами доступа.

Например, чтобы создать файл output.txt для записи:

                    
file, err := os.Create("output.txt")
if err != nil {
    panic(err)
}
defer file.Close()

file.WriteString("Hello, world!")
                  

В этом коде мы использовали функцию WriteString для записи строки в файл.

Кроме того, в Go есть много других функций для более сложных операций чтения и записи файлов. Изучив этот курс, вы сможете осуществлять базовые операции работы с файлами в Go.

March 25, 2023

Если вам не совсем понятен какой-то абзац текста из лекции, просто нажмите на него и сможете задать уточняющие вопросы по нему.

Если же непонятен весь вопрос, то нажмите на кнопки внизу, чтобы получить новый вариант объяснения, практические примеры или критически оценить сам вопрос.