开发者社区> 问答> 正文

go程序运行报错./te.go:14:9: undefined: v

package main

import (
	"fmt"
	"math"
)

func pow(x, n, lim float64) float64 {
	if v := math.Pow(x, n); v < lim {
		return v
	} else {
		fmt.Printf("%g >= %g\n", v, lim)
	}
	return v
}

func main() {
	fmt.Println(
		pow(3, 2, 10),
		pow(3, 3, 20),
	)
}

报错如下

jiangyd:lk jiangyd$ go run te.go 
# command-line-arguments
./te.go:14:9: undefined: v

展开
收起
水果黄瓜 2021-10-23 22:03:50 657 0
1 条回答
写回答
取消 提交回答
  • 变量v,是有作用域的,是if中代码块的,不是函数中的变量,所以无法引用

    2021-10-25 21:58:21
    赞同 展开评论 打赏
问答分类:
Go
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Go语言路上踩过的坑 立即下载
gohbase :HBase go客户端 立即下载
Go构建日请求千亿级微服务实践 立即下载