Logische Operatoren
Eine weitere Klasse von Operatoren sind die logischen Operatoren. Im Gegensatz zu anderen Operatoren, die mit numerischen Werten arbeiten, sind logische Operatoren für die Verarbeitung von booleschen Werten konzipiert. Es gibt drei logische Operatoren:
| Operator | Logik |
|---|---|
! | NICHT |
|| | ODER |
&& | UND |
Der NICHT-Operator (!) wird verwendet, um einen booleschen Ausdruck zu negieren (umzukehren). Hier ist ein einfaches Beispiel mit einer if-Anweisung:
index.go
12345678package 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 NICHT-Operator in den Ausdruck einfügen, wird dieser negiert und ist somit äquivalent zu true:
index.go
12345678package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }
Wir können den NOT-Operator (!) auch 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 möchten, schreiben wir !(3 > 4):
index.go
12345678package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }
Der OR-Operator (||) wertet zwei Operanden aus und gibt true zurück, wenn mindestens einer der Operanden true ist.
Hinweis
Ein Operand bezeichnet einen Wert oder Ausdruck, der als Eingabe für einen Operator in einer Anweisung oder einem Ausdruck verwendet wird. Im Ausdruck
1 + 2sind die Werte1und2Operanden. Bei logischen Operatoren ist ein Operand immer ein boolescher Ausdruck oder Wert.
Hier ist ein Beispiel, das die grundlegende Verwendung von logischen Operatoren veranschaulicht:
index.go
1234567package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }
Die erste Anweisung gibt true aus, da einer der Operanden im Ausdruck true || false den Wert true hat. Im Gegensatz dazu gibt die zweite Anweisung false aus, da beide Operanden in diesem Ausdruck false sind. Nachfolgend ist die Wahrheitstabelle für die logische ODER-Operation dargestellt:
Hinweis
Eine Wahrheitstabelle ist eine logische Darstellung, die alle möglichen Kombinationen von Eingabewerten und deren entsprechenden Ausgabewerten zeigt.
| Input | Output |
|---|---|
true || true | true |
true || false | true |
false || true | true |
false || false | false |
Logische ODER-Operatoren können verkettet werden, um mehrere Operanden zu kombinieren. In diesem Fall wird der Ausdruck von links nach rechts ausgewertet:
index.go
123456package main import "fmt" func main() { fmt.Println(false || false || true || false) }
Die Auswertungsreihenfolge 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 (&&) ähnelt dem ODER-Operator (||), gibt jedoch nur dann true zurück, wenn beide Operanden den Wert true haben. Die Wahrheitstabelle für die logische UND-Operation (&&) ist unten dargestellt:
| Input | Output |
|---|---|
true && true | true |
true && false | false |
false && true | false |
false && false | false |
Nachfolgend ein komplexeres Beispiel, das eine praktische Anwendung logischer Operatoren zeigt. Nehmen Sie sich einen Moment Zeit, um den Code zu betrachten und zu verstehen, wie er funktioniert:
index.go
1234567891011package 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) } }
Beachten Sie, dass im obigen Beispiel mehrere Operatoren und Werte verwendet werden, um eine komplexere Bedingung zu erstellen. Während der Ausführung wird der Ausdruck entsprechend der Priorität der Operatoren ausgewertet. Operatoren mit hoher Priorität werden zuerst ausgewertet, daher ist es wichtig, die Reihenfolge der Verarbeitung zu verstehen. Vergleichsoperatoren haben eine höhere Priorität als logische Operatoren.
Nachfolgend ist ein Diagramm dargestellt, das die Prioritätsreihenfolge der logischen Operatoren veranschaulicht:
Das folgende Diagramm zeigt, wie der Ausdruck 1 <= x && x <= 10 || 90 <= x && x <= 100 ausgewertet wird:
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 1.96
Logische Operatoren
Swipe um das Menü anzuzeigen
Eine weitere Klasse von Operatoren sind die logischen Operatoren. Im Gegensatz zu anderen Operatoren, die mit numerischen Werten arbeiten, sind logische Operatoren für die Verarbeitung von booleschen Werten konzipiert. Es gibt drei logische Operatoren:
| Operator | Logik |
|---|---|
! | NICHT |
|| | ODER |
&& | UND |
Der NICHT-Operator (!) wird verwendet, um einen booleschen Ausdruck zu negieren (umzukehren). Hier ist ein einfaches Beispiel mit einer if-Anweisung:
index.go
12345678package 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 NICHT-Operator in den Ausdruck einfügen, wird dieser negiert und ist somit äquivalent zu true:
index.go
12345678package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }
Wir können den NOT-Operator (!) auch 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 möchten, schreiben wir !(3 > 4):
index.go
12345678package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }
Der OR-Operator (||) wertet zwei Operanden aus und gibt true zurück, wenn mindestens einer der Operanden true ist.
Hinweis
Ein Operand bezeichnet einen Wert oder Ausdruck, der als Eingabe für einen Operator in einer Anweisung oder einem Ausdruck verwendet wird. Im Ausdruck
1 + 2sind die Werte1und2Operanden. Bei logischen Operatoren ist ein Operand immer ein boolescher Ausdruck oder Wert.
Hier ist ein Beispiel, das die grundlegende Verwendung von logischen Operatoren veranschaulicht:
index.go
1234567package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }
Die erste Anweisung gibt true aus, da einer der Operanden im Ausdruck true || false den Wert true hat. Im Gegensatz dazu gibt die zweite Anweisung false aus, da beide Operanden in diesem Ausdruck false sind. Nachfolgend ist die Wahrheitstabelle für die logische ODER-Operation dargestellt:
Hinweis
Eine Wahrheitstabelle ist eine logische Darstellung, die alle möglichen Kombinationen von Eingabewerten und deren entsprechenden Ausgabewerten zeigt.
| Input | Output |
|---|---|
true || true | true |
true || false | true |
false || true | true |
false || false | false |
Logische ODER-Operatoren können verkettet werden, um mehrere Operanden zu kombinieren. In diesem Fall wird der Ausdruck von links nach rechts ausgewertet:
index.go
123456package main import "fmt" func main() { fmt.Println(false || false || true || false) }
Die Auswertungsreihenfolge 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 (&&) ähnelt dem ODER-Operator (||), gibt jedoch nur dann true zurück, wenn beide Operanden den Wert true haben. Die Wahrheitstabelle für die logische UND-Operation (&&) ist unten dargestellt:
| Input | Output |
|---|---|
true && true | true |
true && false | false |
false && true | false |
false && false | false |
Nachfolgend ein komplexeres Beispiel, das eine praktische Anwendung logischer Operatoren zeigt. Nehmen Sie sich einen Moment Zeit, um den Code zu betrachten und zu verstehen, wie er funktioniert:
index.go
1234567891011package 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) } }
Beachten Sie, dass im obigen Beispiel mehrere Operatoren und Werte verwendet werden, um eine komplexere Bedingung zu erstellen. Während der Ausführung wird der Ausdruck entsprechend der Priorität der Operatoren ausgewertet. Operatoren mit hoher Priorität werden zuerst ausgewertet, daher ist es wichtig, die Reihenfolge der Verarbeitung zu verstehen. Vergleichsoperatoren haben eine höhere Priorität als logische Operatoren.
Nachfolgend ist ein Diagramm dargestellt, das die Prioritätsreihenfolge der logischen Operatoren veranschaulicht:
Das folgende Diagramm zeigt, wie der Ausdruck 1 <= x && x <= 10 || 90 <= x && x <= 100 ausgewertet wird:
Danke für Ihr Feedback!