func main() { n :=100000000 sum := 0 start := time.Now().UnixNano()/1e6 for i := 0; i <= n; i++ { sum += int(math.Sqrt(float64(n*n-i*i))) } end := time.Now().UnixNano()/1e6 fmt.Printf("%v"4*float64(sum)/float64(n)/float64(n)) fmt.Println() fmt.Printf("Cost time:%vs"(float64(end-start)/1000)) fmt.Println() } 完全没有问题,但同样代码,在Raspbian下,结果就乱七八糟了,甚至减少n到10000,也得不出正确结果,很明显,赋值的时候i:=0没能正确指明类型。估计是当做int8处理了。。。