A Tour of Go系列。如有问题欢迎指出~
Tour的第一个练习,非常简单,答案如下:
1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func Sqrt(x float64) float64 { 8 z:=float64(1) //z须为float64型变量 9 for i:=0;i<10;i++{10 z=z-(z*z-x)/(2*z)11 }12 return z13 }14 15 func main() {16 fmt.Println(Sqrt(2))17 }
需要注意的是Go中变量的类型转换应为明确指出的,所以用z:=float64(1)。当然,用z:=1.0也是可以的,Go中常量都是精确的,即Go会自动转换常量到所需要的类型。