Heim > Backend-Entwicklung > Golang > Tipps für elegante Exit- und Loop-Traversal-Sprünge aus Golang-Funktionen

Tipps für elegante Exit- und Loop-Traversal-Sprünge aus Golang-Funktionen

王林
Freigeben: 2023-05-16 21:40:34
Original
1839 Leute haben es durchsucht

Golang ist eine Programmiersprache mit hoher Entwicklungseffizienz und hervorragender Leistung. Ihre leistungsstarke Funktionsfunktionalität ist eines ihrer Hauptmerkmale. Während des Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen wir eine Funktion beenden oder eine Schleife durchlaufen müssen. In diesem Artikel werden die eleganten Exit- und Loop-Traversal-Exit-Tipps von Golang-Funktionen vorgestellt.

1. ordnungsgemäßes Beenden einer Funktion

Bei der Golang-Programmierung müssen wir manchmal eine Funktion ordnungsgemäß beenden. Diese Situation tritt normalerweise auf, weil wir auf Fehler in der Funktion stoßen oder die Ausführungsergebnisse der Funktion nicht den Erwartungen entsprechen. Es gibt zwei Situationen, in denen Sie das ordnungsgemäße Beenden einer Funktion in Betracht ziehen müssen:

(1) Wenn die Funktion erfolgreich ausgeführt wird, aber nicht das richtige Ergebnis zurückgeben kann, müssen Sie das ordnungsgemäße Beenden in Betracht ziehen.

(2) Wenn während der Funktionsausführung ein Fehler oder eine ungewöhnliche Situation auftritt, muss ein ordnungsgemäßer Beenden in Betracht gezogen werden.

Wie kann man eine Funktion in Golang ordnungsgemäß beenden? Nehmen wir zur Erläuterung einen Beispielcode als Beispiel.

Beispielcode:

func test() {
    defer func() {
        if err := recover(); err != nil {
            fmt.Println("recover error:", err)
        }
    }()
    fmt.Println("start test")
    panic("test panic")
    fmt.Println("end test")
}
Nach dem Login kopieren

Im obigen Code haben wir eine Testfunktion erstellt. Innerhalb der Funktion verwenden wir das Schlüsselwort defer, um die Ausführung der angegebenen Funktion zu verzögern. Wenn während der Funktionsausführung ein Panikfehler auftritt, kann die Wiederherstellungsfunktion den Fehler erfassen und entsprechend behandeln.

Wir können es testen, indem wir die Testfunktion aufrufen:

func main() {
    test()
    fmt.Println("main end")
}
Nach dem Login kopieren

Das Ausgabeergebnis des obigen Programms lautet:

start test
recover error: test panic
main end
Nach dem Login kopieren

Wie oben gezeigt, haben wir die Wiederherstellung verwendet, obwohl wir in der Testfunktion die Panikfunktion verwendet haben, um einen Fehler zu verursachen Funktion zum Erfassen von Fehlern und Hinweismeldungen zur Vermeidung von Programmabstürzen.

2. Aus der Schleifendurchquerung ausbrechen

In Golang kann die for-Anweisung verwendet werden, um eine Schleifendurchquerung durchzuführen. Während des Schleifendurchlaufs müssen wir unter bestimmten Bedingungen manchmal aus der Schleife ausbrechen. Im Folgenden stellen wir einige Tipps zum Herausspringen aus der Schleifendurchquerung vor.

(1) Verwenden Sie die Break-Anweisung, um aus der Schleife zu springen.

Die Break-Anweisung wird verwendet, um aus der aktuell ausgeführten Schleifenanweisung zu springen. Verwenden Sie die break-Anweisung in einer for-Schleife, um die Schleife vorzeitig zu beenden.

Beispielcode:

for i := 0; i < 10; i++ {
    if i == 5 {
        break
    }
    fmt.Println(i)
}
Nach dem Login kopieren

Im obigen Code verwenden wir eine for-Schleife, um die ganzen Zahlen zwischen 0 und 10 zu durchlaufen. Wenn der Wert von i gleich 5 ist, verwenden wir die break-Anweisung, um aus der Schleife auszubrechen.

(2) Verwenden Sie die continue-Anweisung, um diese Schleife zu überspringen.

Die continue-Anweisung wird verwendet, um die verbleibenden Anweisungen in der aktuellen Schleife zu überspringen und in die nächste Schleifeniteration einzutreten. Durch die Verwendung der continue-Anweisung in einer for-Schleife kann die Schleife diese Schleife überspringen, wenn bestimmte Bedingungen erfüllt sind.

Beispielcode:

for i := 0; i < 10; i++ {
    if i == 5 {
        continue
    }
    fmt.Println(i)
}
Nach dem Login kopieren

Im obigen Code verwenden wir eine for-Schleife, um die ganzen Zahlen zwischen 0 und 10 zu durchlaufen. Wenn der Wert von i gleich 5 ist, verwenden wir die continue-Anweisung, um diese Schleife zu überspringen.

(3) Verwenden Sie die goto-Anweisung, um zur Beschriftungsposition zu springen

Die goto-Anweisung kann das Programm dazu veranlassen, zu der Zeile zu springen, in der sich die Beschriftung befindet. Durch die Verwendung von goto-Anweisungen beim Schleifendurchlauf können komplexere bedingte Sprünge erzielt werden.

Beispielcode:

for i := 0; i < 10; i++ {
    for j := 0; j < 10; j++ {
        if j == 5 {
            goto breakfor
        }
        fmt.Printf("(%d,%d)
", i, j)
    }
}
breakfor:
fmt.Println("break for")
Nach dem Login kopieren

Im obigen Code verwenden wir zwei for-Schleifen, um das zweidimensionale Array einzeln zu durchlaufen. Wenn in der inneren Schleife der Wert von j gleich 5 ist, verwenden wir die goto-Anweisung, um zur Position der breakfor-Beschriftung zu springen.

Zusammenfassung:

In diesem Artikel werden hauptsächlich die eleganten Exit- und Loop-Traversal-Exit-Tipps von Golang-Funktionen vorgestellt. Bei der Entwicklung von Golang sind Funktionen und Schleifendurchläufe sehr häufig verwendete Funktionen, und ihre flexible Verwendung kann unsere Entwicklungseffizienz und Programmleistung verbessern. Ich hoffe, dieser Artikel ist für die Leser hilfreich.

Das obige ist der detaillierte Inhalt vonTipps für elegante Exit- und Loop-Traversal-Sprünge aus Golang-Funktionen. 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