Kotlin Multiplatform Academy · Урок

Безопасность null в общих моделях

Используйте nullable-типы Kotlin, чтобы предотвратить сбои на разных платформах

Урок 3 из 413 шагов

«Безопасность null в общих моделях» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Crashes You Can Prevent

A missing value is a top cause of app crashes. Kotlin's null safety lets shared models guard against it on both platforms.

Non-Null by Default

A normal type can never hold null. Declaring a field as String guarantees it always has a real value.

data class User(val name: String)

The Nullable Type

Add a question mark to allow null. This marks a field as optional, so the compiler forces you to handle the empty case.

data class User(val name: String, val nickname: String?)

Safe Call Operator

Use ?. to read a nullable field safely. If the value is null, the whole expression yields null instead of crashing.

val length = user.nickname?.length

Provide a Fallback

The Elvis operator ?: supplies a default when the value is null, so downstream code always gets something usable.

val shown = user.nickname ?: "Anonymous"

Default Values in Models

Give a constructor parameter a default so callers can skip optional fields entirely while keeping the model non-null.

data class User(val name: String, val active: Boolean = true)

Smart Casts After a Check

Once you confirm a value is not null, Kotlin smart casts it. Inside the check you use it as a plain non-null type.

if (user.nickname != null) {
  println(user.nickname.length)
}

Avoid the !! Operator

The !! operator forces a value to non-null and crashes if it is null. Reach for safe calls and Elvis instead.

val risky = user.nickname!!.length // can crash

Model Optionality Honestly

Mark a field nullable only when it truly can be absent. Clear types document your domain for both teams.

data class Profile(val bio: String?, val avatar: String?)

Why This Matters Cross-Platform

Null safety lives in commonMain, so Android and iOS inherit the same protection from the very same model. 🙂

One Source of Truth

Because nullability rules sit in shared code, neither app can accidentally treat an optional field as required.

Quick Check

How should you read a nullable field with a fallback?

Recap

Mark optional fields with ?, read them via safe calls and Elvis, and avoid !!, so shared models stay crash-safe on both apps.

Можно начать бесплатно

Изучай Kotlin с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Безопасность null в общих моделях» бесплатный?

Да — полный текст урока «Безопасность null в общих моделях» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «Безопасность null в общих моделях»?

Используйте nullable-типы Kotlin, чтобы предотвратить сбои на разных платформах Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Безопасность null в общих моделях»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Классы данных для предметной области
  2. Перечисления и запечатанные классы для состояния
  3. Безопасность null в общих моделях
  4. Помощники проверки для ваших моделей
← Назад к Kotlin Multiplatform Academy