Логічні Оператори
Ще один клас операторів відомий як логічні оператори. На відміну від інших операторів, які працюють з числовими значеннями, логічні оператори призначені для роботи з булевими значеннями. Існує три логічних оператори:
| Оператор | Логіка |
|---|---|
! | НЕ |
|| | АБО |
&& | І |
Оператор НЕ (!) використовується для заперечення (інверсії) булевого виразу. Ось простий приклад з використанням if-оператора:
index.go
12345678package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }
У наведеному вище коді оператор Print не буде виконано, оскільки умова за замовчуванням має значення false. Проте, якщо додати оператор NOT до виразу, умова буде інвертована і, відповідно, дорівнюватиме true:
index.go
12345678package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }
Можна також використовувати оператор NOT (!) у складніших випадках. Однак перед запереченням необхідно взяти вирази в дужки. Наприклад, якщо потрібно заперечити 3 > 4, слід записати !(3 > 4):
index.go
12345678package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }
Оператор OR (||) оцінює два операнди та повертає true, якщо хоча б один з операндів дорівнює true.
Примітка
Операнд — це значення або вираз, який використовується як вхідне значення для оператора у виразі або інструкції. Наприклад, у виразі
1 + 2значення1і2є операндами. У випадку логічних операторів операндом завжди є булевий вираз або значення.
Нижче наведено приклад, що ілюструє базове використання логічних операторів:
index.go
1234567package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }
Перше твердження виводить true, оскільки один з операндів у виразі true || false дорівнює true. Натомість друге твердження виводить false, оскільки обидва операнди у цьому виразі дорівнюють false. Нижче наведено таблицю істинності для логічної операції OR:
Примітка
Таблиця істинності — це логічне представлення, яке відображає всі можливі комбінації вхідних значень та їх відповідні вихідні значення.
| Input | Output |
|---|---|
true || true | true |
true || false | true |
false || true | true |
false || false | false |
Можна об'єднувати кілька операндів за допомогою логічного оператора OR. У цьому випадку вираз обчислюється зліва направо:
index.go
123456package main import "fmt" func main() { fmt.Println(false || false || true || false) }
Порядок обчислення для наведеного виразу наступний:
Примітка
За замовчуванням усі логічні вирази обчислюються зліва направо.
Логічний оператор І (&&) подібний до оператора АБО (||), але повертає true лише тоді, коли обидва операнди мають значення true. Таблиця істинності для логічної операції І (&&) наведена нижче:
| Input | Output |
|---|---|
true && true | true |
true && false | false |
false && true | false |
false && false | false |
Нижче наведено складніший приклад, який демонструє практичне використання логічних операторів. Зверніть увагу на код і спробуйте зрозуміти, як він працює:
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) } }
Зверніть увагу, що в наведеному вище прикладі використовується декілька операторів і значень для створення складнішої умови. Під час виконання вираз оцінюється відповідно до пріоритету операторів. Оператори з вищим пріоритетом обробляються першими, і важливо розуміти порядок їх обробки. Оператори порівняння мають вищий пріоритет, ніж логічні оператори.
Нижче наведено діаграму, яка ілюструє рейтинг пріоритету логічних операторів:
Наступна діаграма ілюструє, як обчислюється вираз 1 <= x && x <= 10 || 90 <= x && x <= 100:
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 1.96
Логічні Оператори
Свайпніть щоб показати меню
Ще один клас операторів відомий як логічні оператори. На відміну від інших операторів, які працюють з числовими значеннями, логічні оператори призначені для роботи з булевими значеннями. Існує три логічних оператори:
| Оператор | Логіка |
|---|---|
! | НЕ |
|| | АБО |
&& | І |
Оператор НЕ (!) використовується для заперечення (інверсії) булевого виразу. Ось простий приклад з використанням if-оператора:
index.go
12345678package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }
У наведеному вище коді оператор Print не буде виконано, оскільки умова за замовчуванням має значення false. Проте, якщо додати оператор NOT до виразу, умова буде інвертована і, відповідно, дорівнюватиме true:
index.go
12345678package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }
Можна також використовувати оператор NOT (!) у складніших випадках. Однак перед запереченням необхідно взяти вирази в дужки. Наприклад, якщо потрібно заперечити 3 > 4, слід записати !(3 > 4):
index.go
12345678package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }
Оператор OR (||) оцінює два операнди та повертає true, якщо хоча б один з операндів дорівнює true.
Примітка
Операнд — це значення або вираз, який використовується як вхідне значення для оператора у виразі або інструкції. Наприклад, у виразі
1 + 2значення1і2є операндами. У випадку логічних операторів операндом завжди є булевий вираз або значення.
Нижче наведено приклад, що ілюструє базове використання логічних операторів:
index.go
1234567package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }
Перше твердження виводить true, оскільки один з операндів у виразі true || false дорівнює true. Натомість друге твердження виводить false, оскільки обидва операнди у цьому виразі дорівнюють false. Нижче наведено таблицю істинності для логічної операції OR:
Примітка
Таблиця істинності — це логічне представлення, яке відображає всі можливі комбінації вхідних значень та їх відповідні вихідні значення.
| Input | Output |
|---|---|
true || true | true |
true || false | true |
false || true | true |
false || false | false |
Можна об'єднувати кілька операндів за допомогою логічного оператора OR. У цьому випадку вираз обчислюється зліва направо:
index.go
123456package main import "fmt" func main() { fmt.Println(false || false || true || false) }
Порядок обчислення для наведеного виразу наступний:
Примітка
За замовчуванням усі логічні вирази обчислюються зліва направо.
Логічний оператор І (&&) подібний до оператора АБО (||), але повертає true лише тоді, коли обидва операнди мають значення true. Таблиця істинності для логічної операції І (&&) наведена нижче:
| Input | Output |
|---|---|
true && true | true |
true && false | false |
false && true | false |
false && false | false |
Нижче наведено складніший приклад, який демонструє практичне використання логічних операторів. Зверніть увагу на код і спробуйте зрозуміти, як він працює:
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) } }
Зверніть увагу, що в наведеному вище прикладі використовується декілька операторів і значень для створення складнішої умови. Під час виконання вираз оцінюється відповідно до пріоритету операторів. Оператори з вищим пріоритетом обробляються першими, і важливо розуміти порядок їх обробки. Оператори порівняння мають вищий пріоритет, ніж логічні оператори.
Нижче наведено діаграму, яка ілюструє рейтинг пріоритету логічних операторів:
Наступна діаграма ілюструє, як обчислюється вираз 1 <= x && x <= 10 || 90 <= x && x <= 100:
Дякуємо за ваш відгук!