GoLang Tour#23

tom*_*opp 2 go

我正在进行巡回演出,我不确定我在问题#23中所犯的错误导致该过程花费的时间太长.http://tour.golang.org/#23

package main

import (
    "fmt"
    "math"
)

func Sqrt(x float64) float64 {
    guess := 1.0
    i := 1
    for i < 10 {
        guess = guess - (math.Pow(guess, 2)-x)/(2*guess)
    }
    return guess
}

func main() {
    fmt.Println(Sqrt(2))
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:[进程花了太长时间]

the*_*tem 6

你没有i在循环中递增变量,所以它总是如此< 10.

 //-----------v
for ; i < 10; i++ {
    guess = guess - (math.Pow(guess, 2)-x)/(2*guess)
}
Run Code Online (Sandbox Code Playgroud)