Создаём файл на языке Go и пишем в него данные

User Rating: 0 / 5

Эта небольшая статья будет о том, как можно быстро создать файл на языке 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 я добавил заметку внизу предыдущей статьи).

Яндекс.Метрика