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が表示されます。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com