Я смотрел на 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, и мне понравилось, что я просто пачкаю руки, я надеюсь, что дал вам хорошие баллы, по крайней мере, за то, чтобы попробовать. Престижность для чтения!