u++の備忘録

A Tour of GoでGo言語に入門した話

完全に周回遅れだが、Go言語に入門しようと思った。
The Go Programming Language

既に実務で使っている友人にお勧めされた"A Tour of Go"というサイトで一通り勉強した。

例えばニュートン法などを実装したが、かなりの速度が出るので、結構気に入った。

package main

import (
     "fmt"
     "math"
)

func Sqrt(x float64) float64 {
     z := 1.0
     count := 0
     for {
          if math.Abs((z * z - x)/2 * z) < 0.00001 {
               fmt.Println(count)
               return z
          }
          z = z - (z * z - x)/2 * z
          count ++
     }
}

func main(){
     fmt.Println(Sqrt(2))
}

github.com