Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpEdSt 196 of 280 menu
◀ ▶

Файл в переменную в Go

Содержимое одного файла можно взять в переменную, если над объявлением стоит директива с именем файла. Компилятор читает файл рядом с исходником при сборке и записывает байты в переменную.

Для строки тип переменной строковый, для сырых байт подойдет срез байт. Пакет из стандартной библиотеки подключают хотя бы пустым импортом, если больше нигде его не вызывают. Тот же прием с директивой работает для []byte вместо строки. Если файл убрать из папки до сборки, компилятор сообщит об ошибке.

Рядом с main.go лежит note.txt; вшиваем его в строку и печатаем:

package main import ( _ "embed" "fmt" ) //go:embed note.txt var note string func main() { fmt.Println(note) }

Содержимое файла на момент сборки такое:

hello from file

Дан файл:

go

Положите его текст в переменную note типа строка и выведите note.

Дан файл:

42

Положите байты файла в raw типа срез байт и выведите длину raw.

Скажите, зачем при одной только директиве над строкой подключают пакет пустым импортом.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить