Im folgenden Codeausschnitt wird die Fehlermeldung „prog.go:13: prev deklariert und nicht“ angezeigt used“ wird angezeigt.
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 Der Fehler tritt auf, weil die Variable prev in der Funktion fibonacci deklariert, aber nie verwendet wird. Insbesondere 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:
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
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3