
Комментарии 20
val и var - это 2 способа обьявить переменную. Для Kotlin val - это final переменная, которая не может быть изменяемая. Ее можно только инициализировать и использовать.
На практике - это структура довольно удобная может быть. К примеру если хотите создать какую-то модель данных или список моделей в одной переменной, которая по логике не должна изменяться ее лучше инициализировать через VAL, нежели VAR.
Спасибо большое за комментарий!)
Чето угарнул с комментариев. Анекдот вспомнился не очень приличный:
Затеял мужик капитальный ремонт и нанял под это дело двух рабочих - вроде нормальные, не бухают. Приезжает через две недели домой принимать работу, ходит - ну просто идеально всё сделано, не придерешься.
Заходит в туалет, а там унитаз к потолку привинчен!
Он, естественно: это чё за хуня?
А работяга ему: эй, погоди ругаться, вот смотри! - разбегается, отталкивается от стены, хватается за края унитаза руками, подтягивает к нему свою пятую точку и начинает испражнятся. Моча и кал, естественно, валятся сквозь ноги вниз, падают ему на спину, грудь и лицо, он отпускает руки, шлёпается в кучу собственных фекалий и говорит:
- Действительно, Вася, плохо сделали - надо подправить.
А вообще, напишите в JetBrains - мол, ребят, сделали плохо, подправить надо
И от авторов Свифта тогда тоже. Из официальной документации Swift:
Swift uses variables to store and refer to values by an identifying name. Swift also makes extensive use of variables whose values can't be changed. - "Свифт использует переменные, чтобы сохранять и ссылаться на значения по имени. Свифт также активно использует переменные, значения которых не могут быть изменены."
Может быть, если весь мир не прав, а вы правы, стоит задуматься?
"...переменная, которая не может быть изменяемая..." Если заменить словом "константа", то будет короче. :-)
PS "...Ну а покойники, бывшие люди, —
Смелые люди и нам не чета...."
Поправьте, меня если я не прав, но котлин вроде был надстройкой над явой. И по этому любой исходник на котлине имеет ява представление. И выполняется всё это на ява-машине.
Т.е. котлин это такой синтаксический сахар для явы на максималках.
Изначально Котлин так и задумывался, но сейчас это уже давно не так. Во-первых, существует Kotlin Native. Это технология, которая позволяет кастомным компилятором собирать исходники на Kotlin в нативные бинарники. Благодаря ей можно писать приложения для iOS, например. Можно конечно писать и для винды или линукса, как на C, но это не очень популярный способ)
Есть ещё Kotlin JS, транспилятор, который преобразует код на котлине в код на JS, и Kotlin WASM, который может исполнять код на котлине в браузере при помощи WebAssembly.
К сожалению, тут хочется поправить скорее автора статьи
Kotlin копилируется в байткод для Java-машины, но не сначала в Java, а затем в байткод.
Но в Java можно транспилировать, как и обратно. Но будет не идеально.
Нет, Котлин обратно совместим с явой за счёт компиляции кода в промежуточный ява байт код, что позволяет выполнить и ява код на котлине и котлин на яве и тем самым запускать котлин на jvm
"Функция - это блок, который может выполнять одно конкретное действие, которое Вы укажите."
Во-первых, в Котлине, как и в Джаве, функции принято называть методами. Во-вторых, если функция действительно содержит одно конкретное действие в одну строку, то её можно записать сокращенным синтаксисом без фигурных скобок и return. В-третьих, количество действий в функциях не ограничено. Рекомендовано, чтобы они не превышали 20 строк и были объединены общей целью ведущей к конкретному результату. Чаще всего они представляют из себя блок кода, а не одну строку или действие в одну строку.
Поэтому советую дополнить блок по функциям в статье с дополнительными примерами. Другие дополнения уже дали выше.
метод - функция, в которой первым параметром является указатель на объект.
Во-первых, в Котлине, как и в Джаве, функции принято называть методами
Не помню как в java, но в kotlin можно объявлять просто функции на уровне пакета. Разница между методом и функцией в том, что метод принадлежит какому-либо классу и имеет доступ к его состоянию (помимо глобального если оно есть)
Орфографических и смысловых ошибок, у вас, конечно, хватает с пренебрежением))
А почему статья в хабе $mol находится?
Kotlin для Самых маленьких