A Tour of Go : Exercise: Loops and Functions

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 z
13 }
14 
15 func main() {
16     fmt.Println(Sqrt(2))
17 }

需要注意的是Go中变量的类型转换应为明确指出的,所以用z:=float64(1)。当然,用z:=1.0也是可以的,Go中常量都是精确的,即Go会自动转换常量到所需要的类型。