Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Логічні Оператори | Керуючі Структури
Вступ до Golang

Логічні Оператори

Свайпніть щоб показати меню

Ще один клас операторів відомий як логічні оператори. На відміну від інших операторів, які працюють з числовими значеннями, логічні оператори призначені для роботи з булевими значеннями. Існує три логічних оператори:

ОператорЛогіка
!НЕ
||АБО
&&І

Оператор НЕ (!) використовується для заперечення (інверсії) булевого виразу. Ось простий приклад з використанням if-оператора:

index.go

index.go

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

У наведеному вище коді оператор Print не буде виконано, оскільки умова за замовчуванням має значення false. Проте, якщо додати оператор NOT до виразу, умова буде інвертована і, відповідно, дорівнюватиме true:

index.go

index.go

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

Можна також використовувати оператор NOT (!) у складніших випадках. Однак перед запереченням необхідно взяти вирази в дужки. Наприклад, якщо потрібно заперечити 3 > 4, слід записати !(3 > 4):

index.go

index.go

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

Оператор OR (||) оцінює два операнди та повертає true, якщо хоча б один з операндів дорівнює true.

Примітка

Операнд — це значення або вираз, який використовується як вхідне значення для оператора у виразі або інструкції. Наприклад, у виразі 1 + 2 значення 1 і 2 є операндами. У випадку логічних операторів операндом завжди є булевий вираз або значення.

Нижче наведено приклад, що ілюструє базове використання логічних операторів:

index.go

index.go

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

Перше твердження виводить true, оскільки один з операндів у виразі true || false дорівнює true. Натомість друге твердження виводить false, оскільки обидва операнди у цьому виразі дорівнюють false. Нижче наведено таблицю істинності для логічної операції OR:

Примітка

Таблиця істинності — це логічне представлення, яке відображає всі можливі комбінації вхідних значень та їх відповідні вихідні значення.

InputOutput
true || truetrue
true || falsetrue
false || truetrue
false || falsefalse

Можна об'єднувати кілька операндів за допомогою логічного оператора OR. У цьому випадку вираз обчислюється зліва направо:

index.go

index.go

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

Порядок обчислення для наведеного виразу наступний:

Примітка

За замовчуванням усі логічні вирази обчислюються зліва направо.

Логічний оператор І (&&) подібний до оператора АБО (||), але повертає true лише тоді, коли обидва операнди мають значення true. Таблиця істинності для логічної операції І (&&) наведена нижче:

InputOutput
true && truetrue
true && falsefalse
false && truefalse
false && falsefalse

Нижче наведено складніший приклад, який демонструє практичне використання логічних операторів. Зверніть увагу на код і спробуйте зрозуміти, як він працює:

index.go

index.go

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) } }

Зверніть увагу, що в наведеному вище прикладі використовується декілька операторів і значень для створення складнішої умови. Під час виконання вираз оцінюється відповідно до пріоритету операторів. Оператори з вищим пріоритетом обробляються першими, і важливо розуміти порядок їх обробки. Оператори порівняння мають вищий пріоритет, ніж логічні оператори.

Нижче наведено діаграму, яка ілюструє рейтинг пріоритету логічних операторів:

Наступна діаграма ілюструє, як обчислюється вираз 1 <= x && x <= 10 || 90 <= x && x <= 100:

question mark

Який з наступних виразів можна використати в операторі if для перевірки, чи є фігура квадратом на основі її width та height?

Виберіть усі правильні відповіді

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Логічні Оператори

Ще один клас операторів відомий як логічні оператори. На відміну від інших операторів, які працюють з числовими значеннями, логічні оператори призначені для роботи з булевими значеннями. Існує три логічних оператори:

ОператорЛогіка
!НЕ
||АБО
&&І

Оператор НЕ (!) використовується для заперечення (інверсії) булевого виразу. Ось простий приклад з використанням if-оператора:

index.go

index.go

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

У наведеному вище коді оператор Print не буде виконано, оскільки умова за замовчуванням має значення false. Проте, якщо додати оператор NOT до виразу, умова буде інвертована і, відповідно, дорівнюватиме true:

index.go

index.go

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

Можна також використовувати оператор NOT (!) у складніших випадках. Однак перед запереченням необхідно взяти вирази в дужки. Наприклад, якщо потрібно заперечити 3 > 4, слід записати !(3 > 4):

index.go

index.go

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

Оператор OR (||) оцінює два операнди та повертає true, якщо хоча б один з операндів дорівнює true.

Примітка

Операнд — це значення або вираз, який використовується як вхідне значення для оператора у виразі або інструкції. Наприклад, у виразі 1 + 2 значення 1 і 2 є операндами. У випадку логічних операторів операндом завжди є булевий вираз або значення.

Нижче наведено приклад, що ілюструє базове використання логічних операторів:

index.go

index.go

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

Перше твердження виводить true, оскільки один з операндів у виразі true || false дорівнює true. Натомість друге твердження виводить false, оскільки обидва операнди у цьому виразі дорівнюють false. Нижче наведено таблицю істинності для логічної операції OR:

Примітка

Таблиця істинності — це логічне представлення, яке відображає всі можливі комбінації вхідних значень та їх відповідні вихідні значення.

InputOutput
true || truetrue
true || falsetrue
false || truetrue
false || falsefalse

Можна об'єднувати кілька операндів за допомогою логічного оператора OR. У цьому випадку вираз обчислюється зліва направо:

index.go

index.go

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

Порядок обчислення для наведеного виразу наступний:

Примітка

За замовчуванням усі логічні вирази обчислюються зліва направо.

Логічний оператор І (&&) подібний до оператора АБО (||), але повертає true лише тоді, коли обидва операнди мають значення true. Таблиця істинності для логічної операції І (&&) наведена нижче:

InputOutput
true && truetrue
true && falsefalse
false && truefalse
false && falsefalse

Нижче наведено складніший приклад, який демонструє практичне використання логічних операторів. Зверніть увагу на код і спробуйте зрозуміти, як він працює:

index.go

index.go

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) } }

Зверніть увагу, що в наведеному вище прикладі використовується декілька операторів і значень для створення складнішої умови. Під час виконання вираз оцінюється відповідно до пріоритету операторів. Оператори з вищим пріоритетом обробляються першими, і важливо розуміти порядок їх обробки. Оператори порівняння мають вищий пріоритет, ніж логічні оператори.

Нижче наведено діаграму, яка ілюструє рейтинг пріоритету логічних операторів:

Наступна діаграма ілюструє, як обчислюється вираз 1 <= x && x <= 10 || 90 <= x && x <= 100:

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4
some-alt