1. ホーム
  2. loops

[解決済み】整数の範囲内で反復処理する方法はありますか?

2022-04-03 16:25:56

質問

Goのレンジはマップやスライスを反復処理することができますが、数値の範囲を反復処理する方法はないでしょうか。

for i := range [1..10] {
    fmt.Println(i)
}

あるいは、Rubyのように、Goで整数の範囲を表現する方法はあるのでしょうか? クラス Range ?

解決方法は?

Goの慣用的なアプローチは、次のようなforループを書くことです。

for i := 1; i <= 10; i++ {
    fmt.Println(i)
}

しかし、Goの設計原則は、利点がコスト(言語を大きくするコストを含む)を大幅に上回る場合にのみ抽象化を導入することです。しかし、この回答は、私が考える慣用的なGoを説明する試みです。