go言語入門学習サイト

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

go言語でループ処理を分岐する。

go言語の繰り返しは他言語にも見られるようにfor文を使います。
そしてそれにifを使い条件に合った値を出す事ができます。

【基本】

for 繰り返し条件 {
// 繰り返し
}

for文でカウンターを初期化して繰り返します。
繰り返しにはi++ インクリメントで繰り返し処理をします。



func 変数()
if 条件式1 {
  return 処理
{
return fmt.取り出す値
}

for文はifと合わす事で計算をして条件満たした値を出すこともできます。

【具体例】

Go言語の if ステートメントは、先ほどの for ループと同様に、括弧 ( ) は不要で、中括弧 { } は必要です



package main

import (
"fmt"
"math"
)

func sqrt(x float64) string {
if x < 0 {
return sqrt(-x) + "i"
}
return fmt.Sprint(math.Sqrt(x))
}

func main() {
fmt.Println(sqrt(2), sqrt(-4))
}




1.4142135623730951 2i

ループ処理にifを使うときは中かっこが必要になります。
func sqrt(x float64) stringの部分の中かっこ内で演算処理をします。
float64は浮動小数でそれをreturn sqrt(-x) + "i"で2iとなります。

func main() {
fmt.Println(sqrt(2), sqrt(-4))
}により1.4142135623730951となります。
sqrtは平方根の値を出します。



if ステートメントは、 for のように、条件の前に、評価するための簡単なステートメントを書くことができます。

ここで宣言された変数は、 if のスコープ内だけで有効です。






package main

import (
"fmt"
"math"
)

func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
}
return lim
}

func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}



9 20

if v := math.Pow(x, n); v < lim {
return v
}の中だけで有効な処理です。

math.Pow(x, n)はx数値、nは回数で
pow(3, 2, 10)なら3を2回かけてlimの10のが大きいから<ので9が表示されます。

一方でpow(3, 3, 20)は3が3回かけるで27となりv < limなので20が表示されます。





TechAcademy [テックアカデミー]


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



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