Язык groovy для начинающих

Использование Groovy: Ranges, Lists, Maps

По сравнению с Java, Groovy имеет значительное число отличий, позволяющих писать во многих случаях более лаконичный и читабельный код:

Также, Groovy удобен для написания скриптов, поскольку не требует создания класса, объявления метода main и т.п. Сравните:

К тому же, скрипт на Groovy можно задавать прямо в командной строке:

Строки

Основное отличие строк в Groovy в том, что их существует два типа:

Также, Groovy позволяет легко записывать многострочные константы, используя конструкцию “три кавычки”.

Аналогично, можно использовать многострочные константы с тройными кавычками. Обе эти возможности (интерполяция и многострочные константы) очень удобны для генерации текстов по каким-либо шаблонам, в частности, генерации кода, с которой мне часто приходилось сталкиваться. В Java для этого приходилось использовать достаточно неприятный синтаксис с большим количеством символов +, или прямым использованием класса StringBuilder.

Ranges (Промежутки)

Прежде чем перейти к спискам в Groovy, стоит рассказать о ranges (промежутках), поскольку они добавляют к спискам весьма интересные возможности.

Groovy предоставляет строенный синтаксис для их объявления:

После создания объект может быть использован для различных запросов:

Списки

Groovy содержит встроенную поддержку списков. Списки объявляются путем перечисления элементов в квадратных скобках:

Обращение к элементам списка осуществляется по индексу, как к массиву в Java:

Новые элементы могут быть добавлены в список различными способами:

Теперь, совместное использование списков и ranges:

Также, для индексирования можно использовать и списки:

Также, Groovy предоставляет встроенный цикл, для перебора элементов списка, или элементов любого объекта, реализующего интерфейс java.lang.Iterable:

Коллекции других типов

По умолчанию, список, объявленный в Groovy имеет тип ArrayList. Но бывают случаи, когда необходимо использовать какую-либо другую реализацию коллекции, например LinkedList, или HashSet, или обычный массив Java. В этом случае, Groovy позволяет явно задать тип коллекция, используя следующую запись:

Spread Operator

Для еще более удобной работы со списками и коллекциями, Groovy содержит так называемый Spread Operator. Оператор записывается как *. и обозначает вызов метода для каждого элемента списка. Например:

Maps (Отображения)

Аналогично спискам, Groovy поддерживает прозрачный синтаксис для работы с maps (ассоциативными массивами). Объявление выглядит следующим образом:

Также, существует специальный синтаксис для объявления пустых отображений:

Доступ к элементам осуществляется по ключу, с использованием оператора [], или же с ключом как полем:

Аналогично производится и изменение элементов:

Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов

Источник

Groovy

Содержание

Первая программа [ править ]

Откройте редактор и напишите программу. По традиции, первая программа должна просто выводить приветствие миру:

Сохраните её в файл helloworld.groovy и запустите.

На экране появится надпись:

На этом традиционную часть можно считать выполненной.

Комментарии и демонстрация результата [ править ]

Комментарием называется часть программного кода, пропускаемая при обработке (интерпретации или компиляции).

Переменные [ править ]

Переменная в Groovy определяется ключевым словом def (это аналогично типу Object в Java):

Строки [ править ]

В Groovy есть 2 типа строк:

Списки [ править ]

Groovy содержит встроенную поддержку списков. Списки объявляются путем перечисления элементов в квадратных скобках:

Обращение к элементам списка осуществляется по индексу, как к массиву в Java:

Новые элементы могут быть добавлены в список различными способами:

Теперь, совместное использование списков и ranges:

Также, для индексирования можно использовать и списки:

Также, Groovy предоставляет встроенный цикл, для перебора элементов списка, или элементов любого объекта, реализующего интерфейс java.lang.Iterable:

Maps (Отображения) [ править ]

Аналогично спискам, Groovy поддерживает прозрачный синтаксис для работы с maps (ассоциативными массивами). Объявление выглядит следующим образом:

Также, существует специальный синтаксис для объявления пустых отображений:

Доступ к элементам осуществляется по ключу, с использованием оператора [], или же с ключом как полем:

Аналогично производится и изменение элементов:

Для хранения объектов в качестве ключа можно использовать скобки ():

Условное исполнение [ править ]

Одной из наиболее важных особенностей любого языка программирования является возможность выполнять различные коды в разных условиях. Простейший способ сделать это состоит в использовании IF конструкции. Например:

Не беспокойтесь о длинной первой строке, это просто какой-то код, чтобы определить, сейчас утро или вечер. Остальная часть кода выполняется следующим образом: сначала оценивается выражение в круглых скобках и в зависимости от результата true (истинно) или false (ложно) выполняется первый или второй блок кода. Смотрите ниже раздел логические выражения.

Обратите внимание, что ​​блок else не требуется, в отличие от первого блока:

Логические выражения [ править ]

Более сложные логические выражения используют один из булевых операторов:

Функции и методы всегда возвращают, как результат, последнее выражение.

Closures [ править ]

Синтаксис замыкания : < [closureArguments->] statements >

В замыканиях по умолчанию присутствует переменная it и ссылается на первый параметр в замыкании:

Определение замыкания в классе и его вызов:

Специальный класс Expando для создания динамических объектов и методов (как замыкания) которые можно вызывать:

Работа с файлами [ править ]

Работа со строками [ править ]

Classes and Objects [ править ]

Описание и создание класса(по умолчанию класс имеет тип доступа public, а переменные класса имеют тип доступа private, но компилятор groovy сам сделает для этих полей геттеры и сеттеры с доступом public):

Для обновления поля или полей можно использовать такой подход:

Источник

Хочу всё знать: язык Groovy

Если вы никогда не слышали о языке программирования Groovy, то сейчас самое подходящее время начать им интересоваться. Всё дело в том, что в рейтинге TIOBE, основанном на популярности языков в поисковых системах, Groovy занял 18 место, обойдя за последний год уже знакомые нам Dart и R и вплотную приблизившись к индексам Visual Basic и Object Pascal.

Так что в этом языке такого удивительного и почему только сейчас, спустя 13 лет после своего создания, он начал подбираться к лидирующим позициям?

Краткая справка

Прежде чем понять феномен Groovy, обратимся к моменту его создания. Впервые он был упомянут в 2003 году, как язык, дополняющий Java с возможностями Python, Ruby и Smalltalk. Надо понимать, что в то время Java уже был самым популярным языком программирования, поэтому разработчики пытались придумать не замену, а скорее улучшение.

Так Groovy оказался в компании Java-подобных языков, среди которых также выделялся Scala. Вплоть до 2015 года именно последнему прочили стать заменой Java (самое удивительное, что эти слова принадлежат никому иному, как создателю Groovy Джеймсу Стрэчену), но судьба похоже распорядилась иначе.

Преимущества

Спросив любого человека, который имеет опыт работы с Groovy, вы узнаете, что главное преимущество Groovy – это то, что он спокойно «проглатывает» программы на Java. Если искать сравнение в графике, то Groovy – это новый слой, который, с одной стороны, основывается на исходном изображении и может его в точности повторять, а с другой – способен на качественные преобразования исходника.

Впрочем, есть и реальные полезности, как то возможность использовать замыкания, статическая и динамическая типизации или специальный синтаксис для работы с массивами, списками и регулярными выражениями. Однако именно «бесшовное» сопряжение с Java, сдобренное относительной легкостью изучения, помогло Groovy найти отклики в сердцах программистов.

Что касается стремительного взлёта за последний год, то основной причиной послужил переход под знамена Apache Foundation в мае 2015 года. Сразу после этого, многие ведущие технологические компании, опираясь на репутацию Apache, начали на постоянной основе внедрять и использовать Groovy в качестве одного из инструментов. И стоит признать, от этого сотрудничества пока все в выигрыше.

Кому стоит учить

Всем, кто хочет быть на передовой, чья профессия связана с Java, тестировщикам и тем, кто хочет просто немного расширить свои горизонты. А может вам просто надоело работать со Scala, как например вице-президенту Twitter.

Что почитать

Как всегда, начинаем с перечисления ресурсов от производителя:

http://www.groovy-lang.org — официальный сайт. Если вы последний раз заходили сюда пару лет назад, то сильно удивитесь, как косметическим преобразованиям, так и разделу под названием Documentation. В Apache Foundation быстро нашли причину ранней непопулярности Groovy и поспешили снабдить пользователя всей необходимой информацией;

http://www.groovy-lang.org/events.html — важные мероприятия, посвящённые Groovy. В России они, к сожалению, пока не проводятся, зато если соберётесь в отпуск заграницу – не забудьте заглянуть и поинтересоваться, нет ли поблизости какой конференции.

Далее перейдем к хорошим книгам:

Grails. Гибкость Groovy и надежность Java, Глен Смит, Питер Ледбрук – прекрасная книга, посвященная главному фреймворку Groovy с массой практических уроков. Преимущественно для веб-разработчиков;

Groovy и Grails. Практические советы, Башар Абдул-Джавад – не столь увлекательное чтиво по сравнению с предыдущим (субъективно), но также будет иметь практическую ценность;

Making Java Groovy, Кеннет Коузен — книга, ориентированная на Java-разработчиков, которым захотелось сделать свою жизнь чуть проще.

Завершим знакомство с Groovy сторонними, но от того не менее полезными ресурсами:

https://habrahabr.ru/post/122127/ — всего за 15 минут вы прочитаете и усвоите основны Groovy.

https://ru.wikibooks.org/wiki/Groovy — довольно неплохой викиучебник на русском языке;

Testing with Groovy — если вы тестировщик и всё ещё читаете этот текст, то эта ссылка специально для вас;

Если вы никогда не слышали о языке программирования Groovy, то сейчас самое подходящее время начать им интересоваться. Всё дело в том, что в рейтинге TIOBE, основанном на популярности языков в поисковых системах, Groovy занял 18 место, обойдя за последний год уже знакомые нам Dart и R и вплотную приблизившись к индексам Visual Basic и Object Pascal.

Так что в этом языке такого удивительного и почему только сейчас, спустя 13 лет после своего создания, он начал подбираться к лидирующим позициям?

Краткая справка

Прежде чем понять феномен Groovy, обратимся к моменту его создания. Впервые он был упомянут в 2003 году, как язык, дополняющий Java с возможностями Python, Ruby и Smalltalk. Надо понимать, что в то время Java уже был самым популярным языком программирования, поэтому разработчики пытались придумать не замену, а скорее улучшение.

Так Groovy оказался в компании Java-подобных языков, среди которых также выделялся Scala. Вплоть до 2015 года именно последнему прочили стать заменой Java (самое удивительное, что эти слова принадлежат никому иному, как создателю Groovy Джеймсу Стрэчену), но судьба похоже распорядилась иначе.

Преимущества

Спросив любого человека, который имеет опыт работы с Groovy, вы узнаете, что главное преимущество Groovy – это то, что он спокойно «проглатывает» программы на Java. Если искать сравнение в графике, то Groovy – это новый слой, который, с одной стороны, основывается на исходном изображении и может его в точности повторять, а с другой – способен на качественные преобразования исходника.

Впрочем, есть и реальные полезности, как то возможность использовать замыкания, статическая и динамическая типизации или специальный синтаксис для работы с массивами, списками и регулярными выражениями. Однако именно «бесшовное» сопряжение с Java, сдобренное относительной легкостью изучения, помогло Groovy найти отклики в сердцах программистов.

Что касается стремительного взлёта за последний год, то основной причиной послужил переход под знамена Apache Foundation в мае 2015 года. Сразу после этого, многие ведущие технологические компании, опираясь на репутацию Apache, начали на постоянной основе внедрять и использовать Groovy в качестве одного из инструментов. И стоит признать, от этого сотрудничества пока все в выигрыше.

Кому стоит учить

Всем, кто хочет быть на передовой, чья профессия связана с Java, тестировщикам и тем, кто хочет просто немного расширить свои горизонты. А может вам просто надоело работать со Scala, как например вице-президенту Twitter.

Что почитать

Как всегда, начинаем с перечисления ресурсов от производителя:

http://www.groovy-lang.org — официальный сайт. Если вы последний раз заходили сюда пару лет назад, то сильно удивитесь, как косметическим преобразованиям, так и разделу под названием Documentation. В Apache Foundation быстро нашли причину ранней непопулярности Groovy и поспешили снабдить пользователя всей необходимой информацией;

http://www.groovy-lang.org/events.html — важные мероприятия, посвящённые Groovy. В России они, к сожалению, пока не проводятся, зато если соберётесь в отпуск заграницу – не забудьте заглянуть и поинтересоваться, нет ли поблизости какой конференции.

Далее перейдем к хорошим книгам:

Grails. Гибкость Groovy и надежность Java, Глен Смит, Питер Ледбрук – прекрасная книга, посвященная главному фреймворку Groovy с массой практических уроков. Преимущественно для веб-разработчиков;

Groovy и Grails. Практические советы, Башар Абдул-Джавад – не столь увлекательное чтиво по сравнению с предыдущим (субъективно), но также будет иметь практическую ценность;

Making Java Groovy, Кеннет Коузен — книга, ориентированная на Java-разработчиков, которым захотелось сделать свою жизнь чуть проще.

Завершим знакомство с Groovy сторонними, но от того не менее полезными ресурсами:

https://habrahabr.ru/post/122127/ — всего за 15 минут вы прочитаете и усвоите основны Groovy.

https://ru.wikibooks.org/wiki/Groovy — довольно неплохой викиучебник на русском языке;

Testing with Groovy — если вы тестировщик и всё ещё читаете этот текст, то эта ссылка специально для вас;

Источник

Поделиться с друзьями
admin
Оцените автора
( Пока оценок нет )
Как переводится?
Adblock
detector