ホームページ > バックエンド開発 > Golang > Go で条件文を使用するにはどうすればよいですか?

Go で条件文を使用するにはどうすればよいですか?

WBOY
リリース: 2023-05-11 16:03:24
オリジナル
1333 人が閲覧しました

Go では、条件文はプログラム フローを制御するための鍵の 1 つです。コードを記述するとき、多くの場合、特定のロジック制御を実装するために条件ステートメントを使用する必要があります。この記事では、Go 言語で条件文を使用する方法について説明します。

  1. If ステートメント

if ステートメントは、Go で最も一般的な条件ステートメントの 1 つです。ブール式の値に基づいて、コードのブロックを実行するかどうかを決定します。 if ステートメントの基本的な構文構造は次のとおりです。

if condition {
   //if block of code
}
ログイン後にコピー

このうち、condition はブール式であり、ブール値を返す任意の式を使用できます。この式が true と評価されると、if ステートメントのコードが実行されます。例:

if x > 10 {
   fmt.Println("x is greater than 10")
}
ログイン後にコピー

この例では、x の値が 10 より大きい場合、「x は 10 より大きい」と出力されます。

もちろん、if ステートメントに else 句を追加することもできます。このコードは、条件が満たされない場合に if ブロック内の条件を実行します:

if condition {
   //if block of code
} else {
   //else block of code
}
ログイン後にコピー

例:

if x > 10 {
   fmt.Println("x is greater than 10")
} else {
   fmt.Println("x is less than or equal to 10")
}
ログイン後にコピー

This 例では、x の値が 10 より大きい場合は「x は 10 より大きい」が出力され、それ以外の場合は「x は 10 以下です」が出力されます。

if と else に加えて、else if ステートメントを追加して、より多くの状況を処理することもできます:

if condition1 {
   //if block of code
} else if condition2 {
   //else if block of code
} else {
   //else block of code
}
ログイン後にコピー

例:

if x > 10 {
   fmt.Println("x is greater than 10")
} else if x > 5 {
   fmt.Println("x is greater than 5 and less than or equal to 10")
} else {
   fmt.Println("x is less than or equal to 5")
}
ログイン後にコピー

この例では、if x If値が 10 より大きい場合は「x は 10 より大きい」と出力され、x の値が 5 より大きく 10 以下の場合は「x は 5 より大きく 10 以下です」と出力されます。それ以外の場合は、「x は 5 以下です」と出力されます。

  1. switch ステートメント

if ステートメントと比較して、switch ステートメントはより論理的で読みやすいです。 Go では、switch ステートメントは複数の case ブロックとオプションのデフォルト ブロックで構成されます。特定のケースの条件が満たされると、対応するコード ブロックが実行されます。 switch ステートメントの基本的な構文構造は次のとおりです。

switch expression {
   case value1:
      //case 1 block of code
   case value2:
      //case 2 block of code
   ...
   case valueN:
      //case N block of code
   default:
      //default block of code
}
ログイン後にコピー

このうち、expression はチェック対象の式であり、どのような種類の式でもかまいません。 value1、value2、...、valueNはチェック対象の値です。式の値が特定の値と等しい場合は、一致するコード ブロックが実行され、式の値がどの値とも等しくない場合は、デフォルト ブロックが実行されます。

例:

switch day {
   case 1:
      fmt.Println("Monday")
   case 2:
      fmt.Println("Tuesday")
   case 3:
      fmt.Println("Wednesday")
   case 4:
      fmt.Println("Thursday")
   case 5:
      fmt.Println("Friday")
   case 6:
      fmt.Println("Saturday")
   case 7:
      fmt.Println("Sunday")
   default:
      fmt.Println("Invalid day")
}
ログイン後にコピー

この例では、日の値が 1 の場合は「月曜日」が出力され、日の値が 2 の場合は「火曜日」が出力されます。等々。日の値と一致する大文字と小文字が一致しない場合は、「無効な日」が出力されます。

  1. Select ステートメント

Select ステートメントは、チャネル通信を処理するために使用される Go の特別なステートメントです。いつでも、select を使用して複数のチャネル操作を待機できます。いずれかのチャネルがデータを返すまでブロックされます。 select ステートメントの基本的な構文構造は次のとおりです。

select {
   case communication1:
      //communication1 block of code
   case communication2:
      //communication2 block of code
   ...
   case communicationN:
      //communicationN block of code
   default:
      //default block of code
}
ログイン後にコピー

このうち、communication1、communication2、...、communicationN が実行されるチャネル操作です。いずれかのチャネルがデータを返すと、対応するコード ブロックが実行されます。どのチャネルからもデータが返されない場合は、デフォルトのブロックが実行されます。

例:

select {
   case <- channel1:
      fmt.Println("Received from channel1")
   case <- channel2:
      fmt.Println("Received from channel2")
   default:
      fmt.Println("No data received")
}
ログイン後にコピー

この例では、チャネル 1 がデータを返す場合は「チャネル 1 から受信」を出力し、チャネル 2 がデータを返す場合は「チャネル 2 から受信」を出力します。チャンネルがデータを返すと、「データを受信しませんでした」と出力されます。

概要

Go の条件文には、if 文、switch 文、select 文が含まれます。 if ステートメントは、ブール式に基づいてコード ブロックを実行するかどうかを決定します。必要に応じて Else 句と else if 句を追加できます。 switch ステートメントは、式の値に基づいて、複数の case ブロックとオプションのデフォルト ブロックを含む、対応するコード ブロックを実行します。 select ステートメントはチャネル通信の処理に使用され、いつでも select を使用して複数のチャネル操作を待機できます。これらの条件文は、複雑なロジック制御を実装し、コードの読みやすさと保守性を向上させるのに役立ちます。

以上がGo で条件文を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート