Go - 오류: "prev 선언되었지만 사용되지 않음", 변수 초기화에도 불구하고
Go에서 "prev 선언되었지만 사용되지 않음" 오류 발생 변수가 초기화된 것으로 나타나면 "사용됨"이 혼란스러울 수 있습니다. 특정 사례를 살펴보겠습니다.
<code class="go">package main import "fmt" func fibonacci() func() int { prev := 0 curr := 1 return func() int { temp := curr curr := curr + prev prev := temp return curr } } func main() { f := fibonacci() for i := 0; i < 10; i++ { fmt.Println(f()) } }</code>
문제는 fibonacci() 내의 내부 익명 함수에 있습니다. 코드는 후속 := 할당에 의해 숨겨지는 변수 prev를 선언합니다. 이렇게 하면 사용되지 않는 새 지역 변수가 생성되어 "이전 선언되었지만 사용되지 않음" 오류가 발생합니다.
해결 방법:
이 문제를 해결하려면 다음을 수정하세요. = =에게 할당. 이는 상속된 prev 변수에 temp 값을 할당합니다.
<code class="go">prev = temp</code>
마찬가지로 다음 줄은 다음과 같아야 합니다.
<code class="go">curr = curr + prev</code>
이렇게 하면 prev가 올바르게 사용되고 오류가 해결됩니다. .
위 내용은 변수 초기화에도 불구하고 Go에서 \"prev 선언 및 사용되지 않음\" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!