Ошибка назначения байтов: невозможно присвоить []байт строке
При попытке прочитать файлы в папке вы столкнулись с ошибкой «невозможно присвоить []байт z (строка типа) при множественном присвоении» при попытке прочитать содержимое файла. Давайте углубимся в причину этой ошибки.
Понимание множественного присвоения
Когда нескольким переменным присваиваются значения в одной строке, как в вашем коде:
z, err := ioutil.ReadFile(z)
Каждая переменная в левой части оператора присваивания получает соответствующее значение, возвращаемое функцией. В этом случае функция ioutil.ReadFile возвращает два значения: []байт (двоичные данные) и ошибку.
Присвоение байтов строкам
Проблемная часть — попытка чтобы присвоить []байт (двоичные данные), возвращенный из ioutil.ReadFile, переменной z, которая объявлена как строка. Именно здесь возникает ошибка, поскольку z ожидает строковое значение, а не двоичные данные.
Решение
Чтобы устранить эту ошибку, у вас есть два варианта:
buf, err := ioutil.ReadFile(z)
if err != nil {
log.Fatal(err)
}
z = string(buf)
var z []byte
z, err := ioutil.ReadFile(z)
Работа с двоичными данными
Хотя преобразование двоичных данных в строки возможно, часто предпочтительнее работать напрямую с сами двоичные данные. Это позволяет избежать ненужного преобразования и сохранить исходный формат данных.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3