因此,我有这样一小段代码,只要需要迭代,直到找到的值之间的差异很大。我想在代码完成运行后计算并打印迭代次数,最好是在我的主函数中(以及打印所需的其他所有内容)。如何计算Go的迭代次数?
编辑:好吧,我已经设法做到这一点。我想知道是否有更简单的迭代计数方法并将它们传递给输出函数。
func sqrt(x float64) (float64, int) {
k := 1
z := 1.0
q := (z*z - x)/(2*z)
for {
if math.Abs(-q) > 0.001 {
z -= q
q = (z*z - x)/(2*z)
k += 1
} else {
break
}
}
return z, k
}
func main() {
k := 1
z := 1.0
z, k = sqrt(9)
fmt.Println("Your sqrt = ", z)
fmt.Println("Math Sqrt = ",math.Sqrt(9))
fmt.Println("Iterations: ", k)
}
您可以传递多个返回值。简单地改变你的函数签名看起来像func sqrt(x float64)(float64,int){} –
@ william.taylor.09最后我返回z,k而不是z如果k是我的整数的名字?我如何分开打印?我用我的原始输出更新了我的文章。 – Arthmost
查看回答发布如下 –