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

Разные типы в Go

Давайте теперь будем сравнивать значения разных типов. Сравнение разных типов язык не принимает. Знак == или != требует, чтобы слева и справа был один и тот же тип. Строку и число в одной проверке не соединяют.

Компилятор останавливает сборку, если типы не сходятся. Чтобы сравнить текст с числом, сначала нужно привести значения к одному виду теми приемами, которые уже проходили для арифметики.

Попробуем сравнить строку с числом в условии:

label := "5" n := 5 if label == n { fmt.Println("match") }

Та же ошибка, если сравнить байт строки с руной без приведения:

text := "A" if text[0] == 'A' { fmt.Println("letter") }

Скажите, соберется ли программа, если в условии сравнить "10" и 10 знаком равенства.

Скажите, какой тип у 'A' и почему "A"[0] == 'A' не подходит без преобразования.

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

code := 1 note := "1"

Скажите, можно ли их сравнить в условии без преобразования.

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