Go表达式似乎不遵循操作顺序

  • 本文关键字:操作 顺序 表达式 Go go
  • 更新时间 :
  • 英文 :


go中,我得到了两个不同的方程答案,这些方程应该在我可以看到的范围内进行评估…我正在做go之旅,我在这个页面(https://tour.golang.org/flowcontrol/8)

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))
}

这是我最初写的代码,不工作,似乎我"需要"这样的括号…

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

但是我不明白为什么我需要指定这样的操作顺序,因为这似乎无关紧要

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

最新更新