ホームページ >バックエンド開発 >Golang >Go言語で書くにはどのような方法がありますか?

Go言語で書くにはどのような方法がありますか?

青灯夜游
青灯夜游オリジナル
2023-01-18 14:50:351628ブラウズ

Go 言語で For ループを記述するには、次の 3 つの方法があります: 1. C 言語の for と同じ、構文「for init;condition; post {...}」を使用する; 2. C言語のwhileと同じ書き方、構文は「for条件{...}」; 3. C言語のfor(;;)と同じ書き方、構文は「for{...}」です。左中括弧「{」は for キーワードと同じ行になければならないことに注意してください。

Go言語で書くにはどのような方法がありますか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

ほとんどの言語とは異なり、Go 言語のループ ステートメントは for キーワードのみをサポートし、while および do-while 構造をサポートしません。

for ループは、指定された回数のループを実行できるループ制御構造です。

Go 言語での for ループの書き方

Go 言語の For ループには 3 つの形式があり、セミコロンを使用するのは 1 つだけです。

C 言語の場合と同じ:

for init; condition; post { }

C の場合と同じ:

for condition { }

C の for(;;) と同じ:

for { }
  • init: 一般に、制御変数に初期値を割り当てる代入式;

  • condition: 関係式または論理式、ループ制御条件;

  • post: 通常、制御変数をインクリメントまたはデクリメントする代入式です。

for ステートメントの実行プロセスは次のとおりです:

  • 1. 最初に式 1 に初期値を代入します。

  • ##2. 代入式 init が指定された条件を満たしているかどうかを判断します。その値が true でループ条件が満たされている場合は、ループ本体内のステートメントを実行し、次に post を実行して 2 番目のループに入ります。値が false で条件が満たされない場合、for ループは終了し、ループの外側のステートメントが実行されます。
  • ループ ステートメントを使用する場合は、次の点に注意する必要があります。

    左中括弧
  • {

    同じ行の for と同じである必要があります。

  • Go 言語の for ループは C 言語と同じで、ループ条件で変数を定義および初期化できます。唯一の違いは、Go 言語が複数のカンマ区切りをサポートしていないことです。代入ステートメントでは、並列代入を使用して複数の変数を初期化する必要があります。
  • Go 言語の for ループは、ループを制御するための continue と Break もサポートしていますが、次の例のように、どのループを中断するかを選択できる、より高度な Break を提供します。
  • for j := 0; j < 5; j++ {
        for i := 0; i < 10; i++ {
            if i > 5 {
                break JLoop
            }
            fmt.Println(i)
        }
    }
    JLoop:
    // ...
  • 上記のコードでは、break ステートメントは JLoop ラベルで外側のループを終了します。

Go 言語の for ループの使用法for ループの範囲形式は、スライス、マップ、配列、文​​字列などを反復処理できます。形式は次のとおりです。

for key, value := range oldMap {
    newMap[key] = value
}

上記コードのキーと値は省略できます。

キーのみを読み取りたい場合の形式は次のとおりです:

for key := range oldMap

または次のとおりです:

for key, _ := range oldMap

値のみを読み取りたい場合の形式は次のとおりです。次のように:

for _, value := range oldMap

Example

1 から 10 までの数値の合計を計算します:

package main

import "fmt"

func main() {
   sum := 0
      for i := 0; i <= 10; i++ {
         sum += i
      }
   fmt.Println(sum)
}

出力結果は次のとおりです:

55

init および post パラメータはオプションです。while ステートメントと同様に、直接省略できます。

次の例では、合計が 10 未満の場合に合計を加算した後の合計の値を計算します。

package main

import "fmt"

func main() {
   sum := 1
   for ; sum <= 10; {
      sum += sum
   }
   fmt.Println(sum)

   // 这样写也可以,更像 While 语句形式
   for sum <= 10{
      sum += sum
   }
   fmt.Println(sum)
}

出力結果は次のとおりです:

16
16

[関連する推奨事項:

Go ビデオ チュートリアル

プログラミング教育 ]

以上がGo言語で書くにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。