Эта небольшая статья будет о том, как можно быстро создать файл на языке Go и записать в него данные, например, строку. Статья содержит короткий сниппет кода с моими экспериментами в части создания файлов на Go и записи в них простых строковых данных. Если у вас ещё нет развёрнутой среды разработки для создания программ на Go, то рекомендую прочитать предыдущую статью, посвящённую этому вопросу.
Итак, перейдем сразу к нашей тестовой программе:
package main
import (
"fmt"
"os"
)
func main() {
// указываем путь к новому файлу, который мы хотим создать
file, err := os.Create("C:\\Users\\1\\mygofile.txt")
// если при создании файла произошла ошибка, выдать детали по ней
if err != nil {
panic(err)
}
// записываем нашу строку в файл и также проверяем, не было ли ошибки
written, err := file.WriteString("Это моя первая строка, которую я запишу в файл с помощью языка Go!")
if err != nil {
panic(err)
}
// выведем информацию о количестве байт, записанных в файл
fmt.Printf("Записано %#v байт в новый файл!\n", written)
}
Вначале мы импортируем пакеты fmt и os, чтобы включить поддержку для работы с файлами операционной системы, а также мы могли выводить на консоль какую-то информацию о ходе выполнения нашей программы.
В функции main(), как видите, идёт создание файла с именем mygofile.txt, и результат создания нашего файла вернётся в переменные file и err. Если файл был создан без проблем, и не было никаких ошибок, то содержимое err будет пустым (т.е. равно nil). Если же ошибка была, то мы выведем детали по ней с помощью встроенной в язык Go функции panic, передавая ей экземпляр нашей ошибки.
Далее, если ход программы продолжился с успехом, и ошибок не было, с помощью переменной file и вызова метода WriteString мы записываем в него нашу тестовую строку с текстом "Это моя первая строка, которую я запишу в файл с помощью языка Go!". Аналогично, результат вызова WriteString вернёт нам два результата - количество фактически записанных в файл байт и ошибку (если она была). Снова делаем проверку на наличие ошибки при записи в файл, и, если она была, то выводим информацию об ошибке в консоль при помощи той же функции panic.
Наконец, в самой последней строке программы (если мы до неё добрались, и никаких ошибок не было), мы выведем на экран консоли количество байт, которые были записаны в наш тестовый файл.
Запускаем нашу программу в среде LiteIDE с помощью опции BuildAndRun на панели инструментов, чтобы убедиться, что всё работает.
Вы должны получить примерно следующий вывод с сообщением о количестве записанных байт:
Теперь находим в файловой системе наш файл mygofile.txt и открываем его:
Как видим, наша строка корректно записалась в файл, как и ожидалось. На этом всё, пишите в комментариях ваши вопросы и делитесь опытом работы с файлами на языке Go. Спасибо за внимание и удачи!
Ссылка на пример, который можно скачать из нашего репозитория и подключить в Visual Studio Code, а также инструкция по настройке у себя репозитория - внизу этой статьи (о том, почему именно мне пришлось перейти с LiteIDE на Visual Studio Code я добавил заметку внизу предыдущей статьи).
Примеры из этой статьи: https://github.com/AllineedRu/GoExamples/blob/main/ain_writing_to_file/sample.go