Я смотрел на Kotlin с тех пор, как он стал новой страстью сообщества разработчиков, особенно сообщества Android. Итак, на прошлой неделе я попробовал. Мне казалось, что я пишу на всех языках, которые знаю. Вы узнаете, почему я так говорю. В основном я работаю с java и имею небольшой опыт работы с несколькими другими языками, но я никогда не сталкивался с таким кратким языком. Мне нравятся небольшие классы в моих программах, и Kotlin кажется многообещающей альтернативой Java. Итак, вот мои 10 основных причин, почему можно почувствовать любовь к Kotlin с первого взгляда, по крайней мере, я влюбился в них.
1. Студенческий класс в одну линию
Вышеупомянутая строка предоставит вам конструктор с 3 аргументами, один из которых доступен только для чтения. В Kotlin это просто: var, который меняет, или val, который не меняет. Бесплатные геттеры и сеттеры, в Kotlin нет полей, поэтому свойства, toString
и hashCode
. Не нужен Ломбок.
2. Импортировать псевдонимы
Кто-то создал файл, а не я
Дерьмо, только не снова. На этот раз всего из трех слов. Вы меня понимаете, верно?
Вот что вам дает Котлин
Круто, не правда ли?
3. Больше никаких ошибок в миллиард долларов
Нулевой указатель Исключения, сокращенно от NPE, - это плохо, и мы знаем, как с этим справиться. Kotlin дает вам контроль над тем, что может иметь значение NULL, а что не может быть NULL, поэтому типы допускающие значение NULL и типы ненулевые. Также он дает вам безопасный оператор вызова для написания кратких нулевых проверок.
вы не можете присвоить значение null переменной в Kotlin, если хотите, вы должны явно указать это, добавив ?
после типа. Если вы объявили переменную допускающей значение NULL, вы можете использовать оператор ?.
для доступа к ее значению. Он вернет фактическое значение, если оно есть, в противном случае - null. Вы знаете, что мы должны писать уродливые блоки if, чтобы это работало на языке Java.
4. Функции верхнего уровня
точно так же, как в JavaScript, вы можете написать функцию, не оборачивая ее в класс, как в Java. Я думаю, что это дает вам гибкость в использовании служебных функций или аналогичных функций в одном файле. Эти функции в конечном итоге становятся статическими методами в классе, поэтому вы получаете то, что есть в вашем классе java Util, с кучей статических методов. У всех есть Util
класс, не так ли?
5. Функции расширения
В JavaScript мы можем расширять существующие объекты с помощью ручных функций, используя прототип. В качестве примера мы можем добавить функцию toSentenceCase
в String
, вот как это делается в Kotlin. this
keword относится к экземпляру, для которого вызывается функция.
6. Инфиксные функции
В Kotlin есть такая классная штука, что вы можете преобразовать любую функцию с одним параметром в объект с ключевым словом. Из коробки он предоставляет downTo, in, until
и т. Д. Однако есть одно правило: это должны быть функции-члены или функции расширения.
7. Функции высшего порядка
В математике и информатике функция высшего - порядка (также функциональная, функциональная форма или функтор) - это функция, которая выполняет по крайней мере одно из следующее: принимает одну или несколько функций в качестве аргументов (т. е. процедурных параметров), возвращает функцию в качестве своего результата. - википедия
Ура! Так что по сути Котлин функционален
8. Не нужно изобретать велосипед
Вы можете использовать существующую экосистему Java, ничего не делая, потому что Kotlin на 100% совместим с Java. Замечательно! мы можем использовать фреймворки, библиотеки, которые мы любили годами. Также существует множество проектов, которые призваны дать вам ощущение kotliness, предоставляя оболочки для существующих фреймворков.
9. Однострочные функции для мелкой работы
У вас может быть много функций, которые не занимают много места, поэтому вы можете написать их на kotlin в одну строку. Если мы напишем более раннюю функцию расширения,
Стоит отметить, что Kotlin поддерживает аргументы по умолчанию, именованные аргументы и varargs. Это знакомые термины, вы понимаете, что они означают, верно?
10. Анонимные функции
Kotlin поддерживает лямбда-функции, но здорово, что анонимные функции могут иметь такой же эффект, но при этом могут определять тип возвращаемого значения, у вас нет такой роскоши в лямбда-функциях. Также он предоставляет возможность иметь несколько точек возврата, чего нельзя в лямбдах. Обратите внимание: если у вас есть только один аргумент в лямбде, вы можете получить доступ к it
.
Вы можете видеть, что Kotlin сочетает в себе потрясающие функции нескольких других языков. Там могут быть функции, которые вам нравятся, дайте нам знать в комментариях. Я не эксперт по Kotlin, и мне понравилось, что я просто пачкаю руки, я надеюсь, что дал вам хорошие баллы, по крайней мере, за то, чтобы попробовать. Престижность для чтения!