0Pricing
Go Academy · レッスン

forループ:すべてのパターン

従来型、while形式、無限ループ、rangeループ

「forループ:すべてのパターン」はCoddyKit上の無料Go Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはGo Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Go Academyコースには全4レッスンが含まれています。

Goにはループが1種類しかない

Goにはforループしかありません。whileもdo-whileもありません。forキーワードが、さまざまな形式によってすべての反復パターンに対応します。

Cスタイルの従来型forループ

従来の3つの節を持つループです。

for i := 0; i < 5; i++ {
    fmt.Println(i)
}

whileスタイルのループ

初期化節と後処理節を省略すると、whileに似たループになります。

n := 1
for n < 100 {
    n *= 2
}

無限ループ

すべての節を省略すると無限ループになります(終了するにはbreakまたはreturnを使用する必要があります)。

for {
    msg := receive()
    if msg == "quit" {
        break
    }
    process(msg)
}

スライスに対するrange

rangeはスライスを反復処理し、インデックスと値を返します。

fruits := []string{"apple", "banana", "cherry"}
for i, fruit := range fruits {
    fmt.Printf("%d: %s\n", i, fruit)
}

マップに対するrange

マップに対するrangeは、キーと値のペアを返します(反復順序はランダムです)。

scores := map[string]int{"Alice": 90, "Bob": 85}
for name, score := range scores {
    fmt.Printf("%s: %d\n", name, score)
}

文字列に対するrange

文字列に対してrangeを使うと、バイトではなくruneの値(Unicodeコードポイント)が得られます。

for i, r := range "Go!" {
    fmt.Printf("index %d: %c\n", i, r)
}

チャネルに対するrange

チャネルに対するrangeは、チャネルが閉じられるまで値を読み取ります。

ch := make(chan int, 3)
ch <- 1; ch <- 2; ch <- 3
close(ch)
for v := range ch {
    fmt.Println(v)
}

breakとcontinue

breakは最も内側のループを終了し、continueは次の反復へスキップします。

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue // skip even numbers
    }
    if i > 7 {
        break    // stop at 7
    }
    fmt.Println(i)
}

ラベル付きbreak

ラベルを使うと、内側のループから外側のループを抜けられます。

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if i+j == 3 {
            break outer
        }
    }
}

クイックチェック

Goで無限ループを書くにはどうしますか?

まとめ:forループ

Goのforループは、あらゆる反復パターンに対応します。

  • 従来型:for i := 0; i < n; i++
  • whileスタイル:for condition
  • 無限ループ:for {}
  • range:スライス、マップ、文字列、チャネルに対して使用
  • ネストしたループでは、任意のラベルとともにbreak/continueを使用

次は、Goのswitch文です。

よくある質問

「forループ:すべてのパターン」レッスンは無料ですか?

はい。「forループ:すべてのパターン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Go Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Go Academyコースには全4レッスンが含まれています。

「forループ:すべてのパターン」で何を学びますか?

従来型、while形式、無限ループ、rangeループ ブラウザで直接実行するハンズオンコードでGo Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Go Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのGo Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「forループ:すべてのパターン」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このGo Academyレッスンでコードを書いて実行できますか?

はい。すべてのGo Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. if文と初期化式
  2. forループ:すべてのパターン
  3. Goのswitch文
  4. break、continue、ラベル
← Go Academyに戻る