“已声明但未使用”错误

我收到这个错误,说我没有使用变量……但在我的菜鸟眼中,我看起来像:


func Sqrt(x float64) float64 {


    z := float64(x);


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

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

    }


    return z;

}

谁能指出我对语言的遗漏?我认为这与=vs.:=和范围界定有关,但我不确定。


墨色风雨
浏览 168回答 2
2回答

慕尼黑的夜晚无繁华

在:=您的for循环声明了一个新的变量z,其阴影外z。把它变成一个平原来=解决这个问题。func Sqrt(x float64) float64 {&nbsp; &nbsp; z := x&nbsp; &nbsp; for i := 0; i < 10; i++ {&nbsp; &nbsp; &nbsp; &nbsp; z = z - (z*z - x) / (2 * z);&nbsp; &nbsp; }&nbsp; &nbsp; return z;}顺便说一下,为了获得相同的精度和更高的速度,您可以尝试以下实现,它一次执行两个步骤:func Sqrt(x float64) float64 {&nbsp; &nbsp; z := x&nbsp; &nbsp; for i := 0; i < 5; i++ {&nbsp; &nbsp; &nbsp; &nbsp; a := z + x/z&nbsp; &nbsp; &nbsp; &nbsp; z = a/4 + x/a&nbsp; &nbsp; }&nbsp; &nbsp; return z&nbsp;}

芜湖不芜

这是查看函数的另一种方式func Sqrt(x float64) (z float64) {&nbsp; &nbsp; z = x&nbsp; &nbsp; for i := 0; i < 10; i++ {&nbsp; &nbsp; &nbsp; &nbsp; z = z - (z*z - x)/(2*z);&nbsp; &nbsp; }&nbsp; &nbsp; return}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go