ホームページ  >  記事  >  バックエンド開発  >  Golang でフロー制御ステートメントのスキルをマスターする

Golang でフロー制御ステートメントのスキルをマスターする

WBOY
WBOYオリジナル
2024-04-04 08:24:02638ブラウズ

Golang のフロー制御ステートメントは、基本的なステートメント (if else、switch、for) や高度なステートメント (break、 continue、defer) などのコード実行フローを制御するために使用されます。これらのステートメントを使用すると、条件に基づいてコード ブロックを実行したり (if else)、実行する複数のコード ブロックを選択したり (switch)、コードを繰り返し実行 (for)、ループを終了またはスキップ (ブレーク/続行)、および前にコードを実行したりすることができます。関数は (遅延) を返します。

Golang でフロー制御ステートメントのスキルをマスターする

Golang でフロー制御ステートメントのスキルをマスターする

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 サイトの他の関連記事を参照してください。

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