gradle | ||
notebooks | ||
presentations | ||
src/main/kotlin | ||
build.gradle.kts | ||
gradlew | ||
gradlew.bat | ||
README.md |
Вопросы для самоконтроля:
- В какой момент происходит интерполяция строк? Во время компиляции или во время выполнения?
- Во что компилируются функции верхнего уровня?
- Чем отличается Unit от других объектов.
- Какой порядок разрешения функций со значениями по умолчанию.
- Что не является выражением в Котлин?
- Кто такой Волдеморт?
- В чем отличие declaration site variance от use site variance. Какой из вариантов поддерживается в Котлин?
- Как выводится тип выражения try?
- Есть ли разница между
Nothing
иNothing?
? - Какие ограничения наложены на конструктор data class.
- В каком случае вычисляется правая часть выражения безопасного вызова?
- Что такое Элвис оператор?
- Как работает стирание дженериков при разрешении расширений?
- Может ли у свойства-расширения быть собственное значение?
- Чем отличается run от with?
- Стоит ли использовать scope функции везде, где это возможно.
- Чем отличается arrayListOf()
от
mutableListOf()`? - List в Kotlin всегда реализует List в Java при интеропе?
- Можно ли сделать собственную реализацию карты с get и set при помощи квадратных скобок?
- В чем отличие forEach на карте в стандартной библиотеке Котлин и Java?
- Как работают функции componentN?
- Почему в Котлин нет диапазонов для чисел с плавающей точкой?
- Какой оператор должен быть реализован типе для того, чтобы он стал делегатом?
- Можно ли делегировать при помощи расширения?
- В какой момент происходит инлайнинг инлайн функции?
- Может ли быть сделана реификация типа без инлайна?
- В каких случаях следует использовать тип Array?