В следующем фрагменте кода отображается сообщение об ошибке «prog.go:13: prev объявлено, а не используется».
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 Ошибка возникает, поскольку переменная prev объявлена в функции fibonacci, но она никогда не используется. В частности, строка prev := temp создает новую локальную переменную с именем prev. Эта переменная отличается от переменной prev, объявленной во внешней области. Чтобы исправить ошибку, нам нужно изменить код, чтобы использовать переменную prev из внешней области вместо создания новой локальной переменной.
Вот исправленный код:
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
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3