Розбираємося, як працює
init-блок у Kotlin: коли він виконується, як використати його для нормалізації введення (
trim(),
lowercase()), підготовки похідних властивостей (наприклад,
summary), фіксації інваріантів через
require(...), а також як читати порядок виконання кількох
init-блоків. Наприкінці — типові помилки проєктування й практичні поради для консольних застосунків.