Menu
Coddy logo textTech

Что такое безопасность null

Часть раздела Основы путешествия по Kotlin на Coddy. Урок 12 из 93.

Во многих языках программирования одна из самых распространённых ошибок — попытка получить доступ к тому, чего не существует: значению null. Это происходит, когда переменная содержит «ничего», а не фактические данные.

Представьте, что вы запрашиваете имя пользователя, но он его не указал. Если ваш код попытается использовать это пустое имя, не проверив его сначала, ваша программа завершится с ошибкой. Этот тип ошибки настолько распространён, что его назвали «ошибкой на миллиард долларов».

Решение Kotlin: безопасность работы с null

Kotlin был разработан, чтобы устранить эти сбои. По умолчанию переменные в Kotlin не могут содержать значения null:

fun main() {
    var name: String = "Alice"
    name = null  // Ошибка! Не скомпилируется
}

Компилятор обнаруживает эту проблему ещё до запуска кода. Именно поэтому Kotlin «безопасен в отношении null»: сам язык не позволяет случайно использовать null там, где этого не должно быть.

В следующих уроках вы узнаете, как Kotlin позволяет работать со значениями, которые могут быть равны null, когда они действительно вам нужны, и при этом сохранять безопасность кода, предотвращая сбои.

challenge icon

Задание

Легко

Объявите две переменные, не допускающие значения null, чтобы продемонстрировать безопасность Kotlin в отношении null:

  • Переменная типа String с именем username и значением "Kotlin"
  • Переменная типа Int с именем score и значением 100

Затем выведите оба значения в отдельных строках с помощью println().

Помните: в Kotlin обычные типы (не допускающие значения null) не могут содержать значения null. Компилятор гарантирует, что ваши переменные всегда содержат допустимые данные.

Попробуйте сами

fun main() {
    // TODO: Напишите ваш код ниже
    // Объявите ненулевую переменную типа String с именем 'username' и значением "Kotlin"
    
    // Объявите ненулевую переменную типа Int с именем 'score' и значением 100
    
    // Выведите оба значения на отдельных строках с помощью println()
    
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Kotlin