为了账号安全,请及时绑定邮箱和手机立即绑定

“已声明但未使用”错误

“已声明但未使用”错误

Go
墨色风雨 2021-06-18 18:40:46
我收到这个错误,说我没有使用变量……但在我的菜鸟眼中,我看起来像:func Sqrt(x float64) float64 {    z := float64(x);    for i := 0; i < 10; i++ {        z := z - (z*z - x) / (2 * z);    }    return z;}谁能指出我对语言的遗漏?我认为这与=vs.:=和范围界定有关,但我不确定。
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

在:=您的for循环声明了一个新的变量z,其阴影外z。把它变成一个平原来=解决这个问题。


func Sqrt(x float64) float64 {


    z := x


    for i := 0; i < 10; i++ {

        z = z - (z*z - x) / (2 * z);

    }


    return z;

}

顺便说一下,为了获得相同的精度和更高的速度,您可以尝试以下实现,它一次执行两个步骤:


func Sqrt(x float64) float64 {

    z := x

    for i := 0; i < 5; i++ {

        a := z + x/z

        z = a/4 + x/a

    }

    return z

 }


查看完整回答
反对 回复 2021-06-28
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

这是查看函数的另一种方式


func Sqrt(x float64) (z float64) {

    z = x

    for i := 0; i < 10; i++ {

        z = z - (z*z - x)/(2*z);

    }

    return

}


查看完整回答
反对 回复 2021-06-28
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信