go言語入門学習サイト

go言語初心者のために基礎から解説します。

go言語で平方根を出してみましょう。

go言語で今まで学習したif文やループ処理を使い平方根を求めてみましょう。

【具体例】

package main

import (
"fmt"
"math"
)

func Sqrt(x float64) float64 {
z := 1.0
bestZ := 1.0
bestDistance := x

for i := 0; i < 10; i++ {
z -= (z*z - x) / (2 * z)
if distance := x - 2*z
math.Abs (distance) < math.Abs(bestDistance) {
bestZ = z
bestDistance = distance
}
}
return bestZ
}

func main() {
fmt.Println(Sqrt(4))
fmt.Println(math.Sqrt(4))
}




2
2

【解説】

平方根を求めるには
import (
"math"
)

math.Sqrt(平方根を計算する数値)
で可能です。

mathパッケージを呼び出します。

func Sqrt(x float64) float64 {
z := 1.0
bestZ := 1.0
bestDistance := x

zとbestZに1.0を入れます。

次にfor分で繰り返し処理します。

for 初期化式(1.値を初期化) ; 条件式(2.条件) ; 増減式(3.値を更新) {
繰り返される箇所
}

for i := 0; i < 10; i++ {

z -= (z*z - x) / (2 * z)
if distance := x - 2*z
math.Abs (distance) < math.Abs(bestDistance) {
bestZ = z
bestDistance = distance

でiが0で{}を計算を10回繰り返します。

if distance := x - 2*z
math.Abs (distance) < math.Abs(bestDistance) {

if 条件A {
// 条件Aが true の時のみ実行される
}
によりbestDistanceが大きければ値が出力しまいます。

math.AbsのmathパッケージのAbs関数を使い絶対値にします。

そして、math.Sqrtにより平方根の数を返し2となります。






TechAcademy [テックアカデミー]


【アイデミー】AIを学んで一発逆転のキャリアチェンジ!



取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com