Beherrschen Sie die Fähigkeiten der Flusskontrollanweisungen in Golang

WBOY
Freigeben: 2024-04-04 08:24:02
Original
687 Leute haben es durchsucht

Flusskontrollanweisungen in Golang werden verwendet, um den Codeausführungsfluss zu steuern, einschließlich grundlegender Anweisungen (if else, switch, for) und erweiterter Anweisungen (break, continue, defer). Diese Anweisungen können verwendet werden, um Codeblöcke basierend auf Bedingungen auszuführen (falls sonst), mehrere Codeblöcke zur Ausführung auszuwählen (wechseln), Code wiederholt auszuführen (for), Schleifen zu verlassen oder zu überspringen (break/continue) und Code vorher auszuführen Die Funktion gibt (defer) zurück.

Beherrschen Sie die Fähigkeiten der Flusskontrollanweisungen in Golang

Beherrschen Sie die Fähigkeiten von Flusskontrollanweisungen in Golang.

In Golang bestimmen Flusskontrollanweisungen den Ablauf der Programmausführung. Das Verständnis der Verwendung dieser Anweisungen ist entscheidend für das Schreiben von effizientem und lesbarem Code.

Grundlegende Flusskontrollanweisungen

  • falls nicht: wird verwendet, um einen Codeblock basierend auf Bedingungen auszuführen.

    if condition {
        // 如果条件为 true,执行此代码块
    } else {
        // 如果条件为 false,执行此代码块
    }
    Nach dem Login kopieren
  • Schalter: Wählen Sie zwischen mehreren Codeblöcken basierend auf einem Ausdruck.

    switch condition {
    case value1:
        // 如果条件等于 value1,执行此代码块
    case value2:
        // 如果条件等于 value2,执行此代码块
    default:
        // 如果条件不等于任何给定值,执行此代码块
    }
    Nach dem Login kopieren
  • for: wird verwendet, um einen Codeabschnitt wiederholt auszuführen, bis eine Bedingung erfüllt ist.

    for condition {
        // 重复执行此代码块直至条件为 false
    }
    Nach dem Login kopieren

Erweiterte Flusskontrollanweisung

  • break:Verlassen einer Schleife oder Switch-Anweisung.

    for {
        if condition {
            break // 跳出循环
        }
    }
    Nach dem Login kopieren
  • continue: Überspringen Sie die aktuelle Iteration der Schleife und fahren Sie mit der Ausführung der nächsten Iteration fort.

    for {
        if condition {
            continue // 跳过本次迭代
        }
    }
    Nach dem Login kopieren
  • defer: Führen Sie einen Codeblock aus, bevor die Funktion zurückkehrt.

    func cleanup() {
        // 清理代码
    }
    
    func main() {
        defer cleanup() // 在函数返回前执行 cleanup()
    }
    Nach dem Login kopieren

Praktischer Fall

Verwenden Sie die Switch-Anweisung, um den HTTP-Statuscode zu analysieren:

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"))
    }
}
Nach dem Login kopieren

Verwenden Sie die Break-Anweisung, um die Schleife zu verlassen:

func findIndex(arr []int, value int) int {
    for i, v := range arr {
        if v == value {
            return i // 找到值后跳出循环
        }
    }
    return -1 // 未找到值,返回 -1
}
Nach dem Login kopieren

Wenn Sie die Flusskontrollanweisungen in Golang verstehen und beherrschen, können Sie schreiben Leistungsstärkere und komplexere Programme zur Erfüllung unterschiedlicher Anforderungen.

Das obige ist der detaillierte Inhalt vonBeherrschen Sie die Fähigkeiten der Flusskontrollanweisungen in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage