Golang のフロー制御ステートメントは、基本的なステートメント (if else、switch、for) や高度なステートメント (break、 continue、defer) などのコード実行フローを制御するために使用されます。これらのステートメントを使用すると、条件に基づいてコード ブロックを実行したり (if else)、実行する複数のコード ブロックを選択したり (switch)、コードを繰り返し実行 (for)、ループを終了またはスキップ (ブレーク/続行)、および前にコードを実行したりすることができます。関数は (遅延) を返します。
Golang では、フロー制御ステートメントによってプログラム実行のシーケンス フローが決まります。これらのステートメントの使用法を理解することは、効率的で読みやすいコードを作成するために重要です。
if else: は、条件に基づいてコード ブロックを実行するために使用されます。
if condition { // 如果条件为 true,执行此代码块 } else { // 如果条件为 false,执行此代码块 }
switch: 式に基づいて複数のコード ブロックから選択します。
switch condition { case value1: // 如果条件等于 value1,执行此代码块 case value2: // 如果条件等于 value2,执行此代码块 default: // 如果条件不等于任何给定值,执行此代码块 }
for: は、条件が満たされるまでコードを繰り返し実行するために使用されます。
for condition { // 重复执行此代码块直至条件为 false }
break: ループまたは switch ステートメントを終了します。
for { if condition { break // 跳出循环 } }
Continue: ループの現在の反復をスキップし、次の反復を続行します。
for { if condition { continue // 跳过本次迭代 } }
#defer: 関数が戻る前にコードのブロックを実行します。
func cleanup() { // 清理代码 } func main() { defer cleanup() // 在函数返回前执行 cleanup() }
switch ステートメントを使用して HTTP ステータス コードを解析します。
import "net/http" func handleStatusCode(w http.ResponseWriter, r *http.Request) { switch r.StatusCode { case http.StatusOK: w.WriteHeader(http.StatusOK) w.Write([]byte("OK")) case http.StatusNotFound: w.WriteHeader(http.StatusNotFound) w.Write([]byte("Not Found")) default: w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("Internal Server Error")) } }
break ステートメントを使用して、ループを終了する :
func findIndex(arr []int, value int) int { for i, v := range arr { if v == value { return i // 找到值后跳出循环 } } return -1 // 未找到值,返回 -1 }
Golang のフロー制御ステートメントを理解してマスターすることで、さまざまなニーズを満たす、より強力で複雑なプログラムを作成できます。
以上がGolang でフロー制御ステートメントのスキルをマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。