go表达似乎不遵循操作顺序

时间:2016-08-10 00:51:47

标签: go

go中我得到了两个不同的方程式答案,应该根据我的看法进行评估......我正在进行go巡视,我在这个页面上({ {3}})

package main

import (
    "fmt"
)

func Sqrt(x float64) float64 {
    z := 1.0
    for i := 0; i < int(x); i++ {
        z = z - ((z * z - x) / 2 * z)
        fmt.Println(z)
    }
    return z
}

func main() {
    fmt.Println(Sqrt(9))
}

这是我最初编写的代码无法正常工作,似乎我需要&#34;需要&#34;这样的括号......

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

但是我看不出有什么理由需要指定这样的操作顺序,因为它似乎不应该重要

1 个答案:

答案 0 :(得分:2)

表达式a / b * c被分组为(a / b) * c。表达式a / (b * c)如图所示分组。第一个乘以c。第二个除以c