亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“已聲明但未使用”錯誤

“已聲明但未使用”錯誤

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 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號