Heim >Backend-Entwicklung >Golang >Warum erhalte ich in meinem Go-Code die Fehlermeldung „vorher deklariert und nicht verwendet'?

Warum erhalte ich in meinem Go-Code die Fehlermeldung „vorher deklariert und nicht verwendet'?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 12:47:31811Durchsuche

Why am I getting the

Go – Deklarierter Variablenname prev wird im gegebenen Funktionsumfang 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn