"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go에서 파일을 읽을 때 \"다중 할당에서 []바이트를 z(유형 문자열)에 할당할 수 없습니다\" 오류가 발생하는 이유는 무엇입니까?

Go에서 파일을 읽을 때 \"다중 할당에서 []바이트를 z(유형 문자열)에 할당할 수 없습니다\" 오류가 발생하는 이유는 무엇입니까?

2024년 11월 10일에 게시됨
검색:611

Why am I getting the \

"다중 할당에서 []바이트를 z(유형 문자열)에 할당할 수 없습니다." 오류 해결

폴더의 파일을 반복하고 해당 내용을 읽으려고 할 때, "다중 할당에서는 []바이트를 z(유형 문자열)에 할당할 수 없습니다."라는 오류가 발생할 수 있습니다. 이 오류의 원인과 코드를 살펴보겠습니다.

제공된 코드 조각에서 ReadFile() 함수는 파일의 내용을 읽는 데 사용되며 바이트 조각([]바이트)이라는 두 값을 반환합니다. ) 파일 내용과 오류가 포함되어 있습니다(있는 경우). 코드는 문자열 유형인 동일한 변수 z에 두 값을 모두 할당하려고 시도합니다. 그러나 다중 할당에서는 []byte 값을 문자열 변수에 할당할 수 없기 때문에 이 할당은 유효하지 않습니다.

이 문제를 해결하려면 ReadFile()에서 반환된 두 값의 할당을 분리해야 합니다. :

buf, err := ioutil.ReadFile(z)
if err != nil {
        log.Fatal(err)
}

여기서 buf는 []byte 유형이고 err은 error 유형이므로 할당이 유효합니다. 파일 내용을 읽은 후 필요하면 문자열로 변환할 수 있습니다:

z = string(buf)

또는 buf로 직접 작업할 수도 있습니다. 문자열로 변환하지 않고 파일 내용의 원시 바이트입니다. 이렇게 하면 성능이 향상되고 잠재적인 변환 문제를 피할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3