Зарегистрируйтесь, чтобы продолжить обучение

Логические типы Основы Go

Логический тип в Go представлен привычными значениями true и false c операторами:

  • && (и)

  • == (равно)

  • || (или)

  • ! (не)

true && false // false
false || true // true

Объявление типа переменных происходит через ключевое слово bool:

var b bool = true

// сокращенная запись
bs := false

Из-за строгой типизации в Go можно сравнивать только одинаковые типы данных:

true == false // false

false == false // true

То есть нельзя сравнить строку с логическим типом, как это происходит в динамических языках:

true == "hello" // invalid operation: false == "hello" (mismatched types untyped bool and untyped string)

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

flag := true
text := "hello"

// вариант не сработает, потому что нельзя конвертировать строку в bool
flag && bool(text) // cannot convert text (type string) to type bool

// правильный вариант: если строка не пустая, то в ней есть текст
flag && text != "" // true

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»