Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmCdNE 115 of 350 menu
◀ ▶

Сравнение нечисла в Go

Сейчас мы сравним нечисло с самим собой. Результат дробного выражения 0.0 / 0.0 не ведет себя как обычное число при таком сравнении.

Пусть такое значение записано в переменную. Проверка == дает false, даже если сравнивают одну переменную с собой:

x := 0.0 / 0.0 if x == x { fmt.Println("equal") } else { fmt.Println("not equal") // сработает это }

Неравенство нечисла с самим собой, наоборот, дает истину:

x := 0.0 / 0.0 if x != x { fmt.Println("diff") // сработает это } else { fmt.Println("same") }

Обычное дробное число при сравнении с собой дает истину. Этим оно и отличается от нечисла в этой проверке:

n := 1.5 if n == n { fmt.Println("equal") // сработает это } else { fmt.Println("not equal") }

Дана переменная:

v := 0.0 / 0.0

Выведите результат сравнения переменной v с v.

Дана переменная:

bad := 0.0 / 0.0

Если значение равно само себе, выведите "same", иначе выведите "diff".

Дана переменная:

bad := 0.0 / 0.0

Если значение не равно само себе, выведите "Y", иначе выведите "N".

Скажите, чем сравнение обычного дробного числа с самим собой отличается от сравнения нечисла.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить