Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Logische Operatoren | Kontrollstrukturen
Einführung in Golang
course content

Kursinhalt

Einführung in Golang

Einführung in Golang

1. Erste Schritte
2. Datentypen
3. Kontrollstrukturen
4. Funktionen
5. Arrays und Slices
6. Einführung in Strukturen & Maps

book
Logische Operatoren

Eine andere Klasse von Operatoren ist als logische Operatoren bekannt. Im Gegensatz zu anderen Operatoren, die mit numerischen Werten arbeiten, sind logische Operatoren für den Umgang mit booleschen Werten konzipiert. Es gibt drei logische Operatoren:

OperatorLogik
!NOT
||OR
&&AND

Der NOT (!) Operator wird verwendet, um einen booleschen Ausdruck zu negieren (invertieren). Hier ist ein einfaches Beispiel, das eine if-Anweisung enthält:

go

index

copy
12345678
package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }

Im obigen Code wird die Print-Anweisung nicht ausgeführt, da die Bedingung standardmäßig false ist. Wenn wir jedoch einen NOT-Operator in den Ausdruck einfügen, wird er negiert und ist daher gleichbedeutend mit true:

go

index

copy
12345678
package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }

Wir können auch den NICHT-Operator (!) in komplexeren Fällen verwenden. Allerdings müssen wir die Ausdrücke in Klammern setzen, bevor wir sie negieren. Wenn wir zum Beispiel 3 > 4 negieren wollen, würden wir !(3 > 4) schreiben:

go

index

copy
12345678
package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }

Der ODER-Operator (||) bewertet zwei Operanden und gibt true zurück, wenn mindestens einer der Operanden true ist.

Hinweis

Ein Operand bezieht sich auf einen Wert oder Ausdruck, der als Eingabe für einen Operator in einer Anweisung oder einem Ausdruck verwendet wird. Zum Beispiel sind in dem Ausdruck 1 + 2 die Werte 1 und 2 Operanden. Im Fall von logischen Operatoren ist ein Operand immer ein boolescher Ausdruck oder Wert.

Hier ist ein Beispiel, das die grundlegende Verwendung von logischen Operatoren veranschaulicht:

go

index

copy
1234567
package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }

Die erste Anweisung gibt true aus, weil einer der Operanden im Ausdruck true || false true ist. Im Gegensatz dazu gibt die zweite Anweisung false aus, da beide Operanden in diesem Ausdruck false sind. Unten ist die Wahrheitstabelle für die logische ODER-Operation:

Hinweis

Eine Wahrheitstabelle ist eine logische Darstellung, die alle möglichen Kombinationen von Eingaben und deren entsprechenden Ausgabewerten anzeigt.

EingabeAusgabe
true || truetrue
true || falsetrue
false || truetrue
false || falsefalse

Wir können logische ODER-Operatoren verketten, um mehrere Operanden zu kombinieren. In diesem Fall wird der Ausdruck von links nach rechts ausgewertet:

go

index

copy
123456
package main import "fmt" func main() { fmt.Println(false || false || true || false) }

Die Reihenfolge der Auswertung für den obigen Ausdruck ist wie folgt:

Hinweis

Standardmäßig werden alle logischen Ausdrücke von links nach rechts ausgewertet.

Der logische UND-Operator (&&) ist dem ODER-Operator (||) ähnlich, gibt jedoch nur true zurück, wenn beide Operanden den Wert true haben. Die Wahrheitstabelle für die logische UND-Operation (&&) ist unten angegeben:

EingabeAusgabe
true && truetrue
true && falsefalse
false && truefalse
false && falsefalse

Hier ist ein komplexeres Beispiel, das eine praktische Verwendung von logischen Operatoren zeigt. Nehmen Sie sich einen Moment Zeit, um den Code zu untersuchen und zu verstehen, wie er funktioniert:

go

index

copy
1234567891011
package main import "fmt" func main() { var x int = 99 if (1 <= x && x <= 10 || 90 <= x && x <= 100) { fmt.Printf("The value %d is in the range 1-10 or 90-100", x) } else { fmt.Printf("The value %d is not in the range 1-10 or 90-100", x) } }

Bitte beachten Sie, dass wir im obigen Beispiel mehrere Operatoren und Werte verwenden, um eine komplexere Bedingung zu erstellen. Während der Ausführung wird der Ausdruck basierend auf der Priorität der Operatoren ausgewertet. Operatoren mit hoher Priorität werden zuerst ausgewertet, und es ist wichtig, die Reihenfolge zu verstehen, in der sie verarbeitet werden. Vergleichsoperatoren haben eine höhere Priorität als logische Operatoren.

Unten ist ein Diagramm, das die Prioritätsreihenfolge der logischen Operatoren veranschaulicht:

Das folgende Diagramm veranschaulicht, wie der Ausdruck 1 <= x && x <= 10 || 90 <= x && x <= 100 ausgewertet wird:

Welche der folgenden Ausdrücke können wir in der if-Anweisung verwenden, um zu überprüfen, ob eine Form ein Quadrat basierend auf ihrer `width` und `height` ist?

Welche der folgenden Ausdrücke können wir in der if-Anweisung verwenden, um zu überprüfen, ob eine Form ein Quadrat basierend auf ihrer width und height ist?

Wählen Sie einige richtige Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt