폴더의 파일을 반복하고 해당 내용을 읽으려고 할 때, "다중 할당에서는 []바이트를 z(유형 문자열)에 할당할 수 없습니다."라는 오류가 발생할 수 있습니다. 코드와 이 오류의 원인을 살펴보겠습니다.
제공된 코드 조각에서 ReadFile() 함수는 파일 내용을 읽는 데 사용되며 바이트 조각([]바이트)이라는 두 값을 반환합니다. ) 파일 내용과 오류가 포함되어 있습니다(있는 경우). 코드는 문자열 유형인 동일한 변수 z에 두 값을 모두 할당하려고 시도합니다. 그러나 다중 할당에서는 문자열 변수에 []byte 값을 할당할 수 없기 때문에 이 할당은 유효하지 않습니다.
이 문제를 해결하려면 ReadFile()에서 반환된 두 값의 할당을 분리해야 합니다. :
<code class="go">buf, err := ioutil.ReadFile(z) if err != nil { log.Fatal(err) }</code>
여기서 buf는 []byte 유형이고 err은 error 유형이므로 할당이 유효합니다. 파일 내용을 읽은 후 필요한 경우 이를 문자열로 변환할 수 있습니다.
<code class="go">z = string(buf)</code>
또는 파일 내용을 문자열로 변환하지 않고 파일 내용의 원시 바이트를 나타내는 buf로 직접 작업할 수도 있습니다. 문자열. 이렇게 하면 성능이 향상되고 잠재적인 변환 문제를 피할 수 있습니다.
위 내용은 Go에서 파일을 읽을 때 \'다중 할당에서 []바이트를 z(유형 문자열)에 할당할 수 없습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!