"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué aparece el error \"anterior declarado y no utilizado\" en mi código Go?

¿Por qué aparece el error \"anterior declarado y no utilizado\" en mi código Go?

Publicado el 2024-11-08
Navegar:639

Why am I getting the \

Go: el nombre de variable declarado prev no se utiliza en el alcance de la función dada

En el siguiente fragmento de código, aparece el mensaje de error "prog.go:13: prev declarado y no Se muestra "usado".

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 

El error ocurre porque la variable prev está declarada en la función fibonacci, pero nunca se usa. Específicamente, la línea prev := temp crea una nueva variable local llamada prev. Esta variable es diferente de la variable anterior declarada en el ámbito externo. Para corregir el error, necesitamos modificar el código para usar la variable anterior del alcance externo en lugar de crear una nueva variable local.

Aquí está el código corregido:

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 
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3