Heim >Backend-Entwicklung >Golang >Warum erhalte ich in meinem Go-Code die Fehlermeldung „vorher deklariert und nicht verwendet'?
Im folgenden Codeausschnitt wird die Fehlermeldung „prog.go:13: prev deklariert und nicht“ angezeigt used“ wird angezeigt.
<code class="go">package main import "fmt" // fibonacci is a function that returns // a function that returns an int. 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>
Der Fehler tritt auf, weil die Variable prev in der Funktion fibonacci deklariert ist, aber nie verwendet wird. Konkret erstellt die Zeile prev := temp eine neue lokale Variable mit dem Namen prev. Diese Variable unterscheidet sich von der im äußeren Bereich deklarierten vorherigen Variablen. Um den Fehler zu beheben, müssen wir den Code ändern, um die vorherige Variable aus dem äußeren Bereich zu verwenden, anstatt eine neue lokale Variable zu erstellen.
Hier ist der korrigierte Code:
<code class="go">package main import "fmt" // fibonacci is a function that returns // a function that returns an int. 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>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem Go-Code die Fehlermeldung „vorher deklariert und nicht verwendet'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!