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

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

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

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

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

index.go

index.go

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

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

index.go

index.go

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

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

index.go

index.go

copy
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

copy
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

copy
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

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

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

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

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

question mark

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 1.96

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

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

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

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

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

index.go

index.go

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

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

index.go

index.go

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

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

index.go

index.go

copy
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

copy
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

copy
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

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

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

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

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

question mark

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

Select the correct answer

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

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

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

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