Groovy Poradnik skryptowy dla początkujących

Czym są sterowniki Groovy Scenariusz?

Apache Groovy jest zorientowany obiektowo i Java Język programowania zgodny ze składnią, zbudowany dla Java platforma. Ten dynamiczny język ma wiele cech podobnych do Python, Ruby, Smalltalk i Pero. Groovy kod źródłowy zostaje wkompilowany Java Kod bajtowy umożliwiający działanie na dowolnej platformie z zainstalowanym środowiskiem JRE. Groovy wykonuje również wiele zadań za kulisami, co czyni go bardziej zwinnym i dynamicznym.

Groovy może być używany jako język skryptowy dla Java platforma. To prawie jak super wersja Java który oferuje Javamożliwości przedsiębiorstwa. Oferuje także wiele funkcji zwiększających produktywność, takich jak obsługa DSL, zamknięcia i dynamiczne pisanie. W przeciwieństwie do niektórych innych języków, został zaprojektowany jako towarzysz, a nie zamiennik Java.

Czemu Groovy?

Oto główne powody, dla których warto używać i uczyć się Groovy-

  • Groovy to zwinny i dynamiczny język
  • Bezproblemowa integracja ze wszystkimi istniejącymi Java obiektów i bibliotek
  • Wydaje się to łatwe i naturalne Java deweloperzy
  • Bardziej zwięzły i znaczący kod w porównaniu do Java
  • Możesz go używać tak dużo lub tak mało, jak chcesz Java mobilne i webowe

Groovy Historia

  • 2003: Opracowany przez Boba McWhirTera i Jamesa Strachana
  • 2004: Oddany do użytku w JSR 241, ale został porzucony
  • 2005: Przywrócony przez Jeremy'ego Raynera i Guillaume'a Laforge'a
  • 2007: Groovy wersja 1.0
  • 2012: Groovy wersja 2
  • 2014: Groovy wersja 2.3 (oficjalne wsparcie udzielone dla JDK 8)
  • 2015: Groovy stał się projektem w Apache Software Foundation

Cechy Groovy

  • Lista, mapa, zakres, literały wyrażeń regularnych
  • Multimetoda i metaprogramowanie
  • Groovy Klasy i skrypty są zwykle przechowywane w plikach .groovy
  • Skrypty zawierają Groovy instrukcje bez deklaracji klasy.
  • Skrypty mogą także zawierać definicje metod poza definicjami klas.
  • Można go skompilować i w pełni zintegrować z tradycyjnym Java aplikacji.
  • Obsługa poziomu języka dla map, list, wyrażeń regularnych
  • Obsługuje zamknięcia, pisanie dynamiczne, protokół metaobiektu
  • Obsługa statycznego i dynamicznego typowania oraz przeciążania operatorów
  • Dosłowna deklaracja list (tablic), map, zakresów i wyrażeń regularnych

Jak zainstalować Groovy

Krok 1) Upewnij się, że masz Java zainstalowany.

Krok 2) Iść do http://groovy-lang.org/download.html i kliknij instalator.

zainstalować Groovy

Uwaga: możesz także zainstalować Groovy za pomocą pliku ZIP lub jako plik Eclipse IDE. W tym Groovy poradnik, będziemy się go trzymać Windows instalator

Krok 3) Uruchom pobrany instalator. Wybierz język i kliknij OK

zainstalować Groovy

Krok 4) Początek. Na ekranie powitalnym kliknij DALEJ

zainstalować Groovy

Krok 5) Zaakceptuj warunki licencji

zainstalować Groovy

Krok 6) Wybierz komponenty, które chcesz zainstalować i kliknij DALEJ

zainstalować Groovy

Krok 7) Wybierz Katalog instalacyjny i kliknij DALEJ

zainstalować Groovy

Krok 8) Wybierz Folder menu Start i kliknij DALEJ

zainstalować Groovy

Krok 9) Po zakończeniu instalacji pozostaw ścieżki domyślne i kliknij DALEJ

zainstalować Groovy

Krok 10) Kliknij Następny

zainstalować Groovy

Krok 11) W menu startowym wyszukaj Groovy Konsola

zainstalować Groovy

Groovy Przykład Hello World

Rozważmy, że chcemy wydrukować prosty ciąg znaków „Hello World”. Java. Kod umożliwiający osiągnięcie ciągu Groovy witaj, świecie

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Powyższy kod obowiązuje w obu przypadkach Java i Groovy as Groovy jest nadzbiorem Java. Ale korzyść z Groovy polega na tym, że możemy zrezygnować z tworzenia klas, tworzenia metod publicznych itp. i osiągnąć ten sam wynik za pomocą pojedynczego kodu liniowego w następujący sposób:

println "Hello World."

Nie ma potrzeby stosowania średników

Nawiasy nie są potrzebne

System.out.println zostaje zredukowany do println

Groovy Zmienne

In Java, wiązanie statyczne jest obowiązkowe. Oznacza to, że typ zmiennej musi zostać zadeklarowany z wyprzedzeniem.

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        //x = "Guru99";
    }
}

W powyższym przykładzie to Groovy tutorial, typ zmiennej (integer) deklarowany jest z góry za pomocą słowa kluczowego „int”. Jeśli chcesz zadeklarować liczbę zmiennoprzecinkową, użyj słowa kluczowego float.

Jeśli spróbujesz przypisać wartość typu String do int (odkomentuj wiersz nr 5), pojawi się następujący błąd

Demo.java:5: error: incompatible types: String cannot be converted to int
x = "Guru99";

W przeciwieństwie, Groovy obsługuje pisanie dynamiczne. Zmienne definiuje się za pomocą słowa kluczowego „def”, a typ zmiennej nie musi być wcześniej deklarowany. Kompilator określa typ zmiennej w czasie wykonywania i możesz nawet określić typ zmiennej.

Rozważmy następujący świetny przykład,

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

Wyjście:

class java.lang.Integer
class java.lang.String

In Groovy, możesz tworzyć ciągi wielowierszowe. Upewnij się tylko, że ciąg znaków ujęto w potrójne cudzysłowy.

def x = """Groovy
at
Guru99"""
println x

Wyjście:

Groovy
at
Guru99

Note: Nadal możesz zmieniać typy, takie jak bajt, krótki, int, długi itp Groovy. Nie można jednak dynamicznie zmieniać typu zmiennej, ponieważ został on jawnie zadeklarowany.

Rozważ następujący kod:

int x = 104
println x
x = "Guru99"

Wyskakuje następujący błąd

104
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
    at jdoodle.run(jdoodle.groovy:3)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Command exited with non-zero status 1

Groovy-Operatorsy

Operator to symbol nakazujący kompilatorowi wykonanie pewnych operacji matematycznych lub logicznych.

Groovy ma pięć następujących typów operatorów –

  • Operatory arytmetyczne: Dodawanie (+), Odejmowanie (-), Mnożenie (*), Dzielenie (/)
  • Operatory relacyjne: równe (==), nierówne (!=), Less niż (<) Less niż lub równy (<=), większy niż (>), większy lub równy (>=)
  • Operatory logiczne: And (&&), Or(||), Not(!)
  • Operatory bitowe: And(&), Or(|), (^), Xor lub operator Exclusive-or
  • Operatorzy przypisania: Operator negacji (~)

Groovy-Pętle

In Java, zdefiniowałbyś pętlę w następujący sposób

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x++) {
            System.out.println(x);
        }
    }
}

Wyjście:

0
1
2
3
4

Możesz osiągnąć ten sam wynik w Groovy używając maksymalnie słów kluczowych

0.upto(4) {println "$it"}

Otrzymujesz taki sam wynik jak powyżej. $jest to zamknięcie, które podaje wartość bieżącej pętli.

Rozważ następujący kod

2.upto(4) {println "$it"}

Daje wynik

2
3
4

Możesz także użyć słowa kluczowego „times”, aby uzyskać ten sam wynik

5.times{println "$it"}

Zastanów się, czy chcesz wydrukować 0,2,4 za pomocą dla pętli Java

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x=x+2) {
            System.out.println(x);
        }
    }
}

Wyjście:

0
2
4

W tym samym celu możesz użyć metody krokowej

0.step(7,2){println "$it"}

Groovy- Podejmowanie decyzji

Oświadczenia Oszustwo
jeśli oświadczenie Jak w Java, instrukcja if zostanie wykonana, jeśli warunek jest prawdziwy.
Instrukcja if/else W instrukcji if/else najpierw oceniany jest warunek w instrukcji if. Jeżeli warunek jest spełniony, wykonywane są następujące po nim instrukcje. Zatrzymuje się przed warunkiem else i wychodzi z pętli. Jeśli jednak warunek jest fałszywy, wykonywane są instrukcje z bloku instrukcji else. Następnie wychodzi z pętli.
Zagnieżdżona instrukcja if Używa się go, gdy wymagane jest użycie wielu instrukcji if.
Instrukcja Switch Zagnieżdżone polecenie if-else może stać się nieczytelne, gdy masz wiele warunków. Aby kod był bardziej czytelny, użyto polecenia switch.
Zagnieżdżona instrukcja przełącznika In Groovy możliwe jest również użycie zagnieżdżonych instrukcji switch.

Groovy Lista

Struktura listy umożliwia przechowywanie kolekcji elementów danych. w Groovy języka programowania, lista przechowuje sekwencję odniesień do obiektów. Pokazuje również pozycję w sekwencji. Literał listy jest prezentowany jako seria obiektów oddzielonych przecinkami i ujętych w nawiasy kwadratowe.

Przykład listy Grovy:

Lista ciągów znaków- ['Angular', 'Nodejs,]

Lista odniesień do obiektów – ['Groovy', 2,4 2.6]

Lista wartości całkowitych – [16, 17, 18, 19]

Pusta lista- [ ]

Poniżej przedstawiono metody listy dostępne w Groovy:

Metody Opis
Dodaj() Umożliwia dodanie nowej wartości na końcu tej listy.
zawiera() Zwraca wartość true, jeśli ta lista zawiera określoną wartość.
otrzymać() Zwraca element na określonej pozycji
jest pusty() Zwraca wartość true, jeśli Lista nie zawiera żadnych elementów
minus() Polecenie to umożliwia utworzenie nowej Listy złożonej z elementów oryginału z wyłączeniem tych, które są określone w kolekcji.
plus() Umożliwia utworzenie nowej Listy złożonej z elementów oryginału wraz z wymienionymi w kolekcji.
Muzyka pop() Usuwa ostatnią pozycję z listy
usunąć() Usuwa element w określonej pozycji
odwrócić() Utwórz nową listę, która odwraca elementy oryginalnej listy
rozmiar() Zwraca liczbę elementów na tej liście
sortować() Zwraca posortowaną kopię

Rozważ następujące Groovy przykład skryptu

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

Wyjście:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

Groovy Mapy

Mapa Groovy to zbiór par klucz-wartość

Przykłady Groovy mapy:

  • [Poradnik: 'Java, Poradnik: 'Groovy] – Kolekcja par klucz-wartość, której kluczem jest Tutorial i ich odpowiednie wartości
  • [ : ] Reprezentuje pustą mapę

Tutaj znajduje się lista metod map dostępnych w Groovy.

Metody Opis
zawieraKlucz() Sprawdź, czy mapa zawiera ten klucz, czy nie?
otrzymać() To polecenie wyszukuje klucz na tej mapie i zwraca odpowiednią wartość. Jeśli nie znajdziesz żadnego wpisu na tej mapie, zwróci wartość null.
zestaw kluczy() Pozwala znaleźć zestaw kluczy na tej mapie
położyć() Kojarzy określoną wartość z danym kluczem na tej mapie. Jeśli mapa zawierała wcześniej mapowanie dla tego klucza. Następnie stara wartość zostanie zastąpiona określoną wartością.
rozmiar() Zwraca liczbę mapowań klucz-wartość.
wartości () To polecenie zwraca widok kolekcji wartości.

Groovy Przykład:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

Wydajność

Jen

Groovy- Zamknięcia

Groovy zamknięcie to fragment kodu zawinięty w obiekt. Działa jako metoda lub funkcja.

Przykład prostego zamknięcia

def myClosure = {
       println "My First Closure"	
}
myClosure()

Wyjście:

My First Closure

Zamknięcie może przyjmować parametry. Lista identyfikatorów jest oddzielona przecinkiem

strzałka (->) oznaczająca koniec listy parametrów.

def myClosure = {
       a,b,c->
       y = a+b+c
       println y
}
myClosure(1,2,3)

Wyjście:

6

Zamknięcie może zwrócić wartość.

def myClosure = {
       a,b,c->
       return (a+b+c)
}
println(myClosure(1,2,3))

Wyjście:

6

Istnieje wiele wbudowanych zamknięć, takich jak „To”, „tożsamość” itp. Zamknięcia mogą przyjmować inne domknięcia jako parametry.

Groovy Vs. Java

Groovy Java
In Groovy, domyślny specyfikator dostępu jest publiczny. Oznacza to, że metoda bez żadnego określonego modyfikatora dostępu jest publiczna i dostępna poza granicami klas i pakietów. In Java, domyślnym modyfikatorem dostępu jest pakiet, tzn. jeśli nie określisz modyfikatora dostępu dla pól, metod lub klasy, stanie się on pakietem prywatnym,
Gettery i settery są generowane automatycznie dla członków klasy. Java, musisz zdefiniować metody pobierające i ustawiające dla pól
Groovy umożliwia podstawianie zmiennych za pomocą cudzysłowów w przypadku ciągów znaków. Java nie obsługuje podstawienia zmiennych.
Wpisywanie informacji jest opcjonalne. Wpisywanie informacji jest obowiązkowe w Java.
Groovy nie jest wymagane zakończenie średnikiem. In Java, każda instrukcja kończy się średnikiem.
Groovy jest automatycznie klasą opakowującą zwaną Script dla każdego programu In Java, potrzebujesz metody main, aby uczynić klasę wykonywalną.

Mity na temat Groovy

Mit Rzeczywistość
Możemy użyć Groovy tylko do pisania skryptów. Można go używać do pisania skryptów. Jednak oprócz niego możesz wykonywać wiele innych zadań.
Groovy chodzi o zamknięcia. „To po prostu funkcjonalny język programowania". Groovy przejmuje funkcjonalne języki programowania, takie jak Lisp lub Closure.
Groovy to idealny wybór, jeśli chcesz robić TDD To stwierdzenie jest prawdziwe. Jednak z pewnością nie jest to jedyny powód, dla którego warto skorzystać Groovy.
Możesz użyć Groovy tylko jeśli chcesz używać Grails. Grails to potężny framework do tworzenia stron internetowych.

Ale Groovy oferuje więcej.

Wady używania Groovy

  • JVM i Groovy czas rozpoczęcia skryptu jest powolny, co ogranicza skrypty na poziomie systemu operacyjnego
  • Groovy nie jest całkowicie akceptowany w innych społecznościach.
  • Nie jest wygodny w użyciu Groovy bez użycia IDE
  • Groovy może być wolniejszy, co wydłuża czas programowania
  • Groovy może potrzebować dużo pamięci
  • Znajomość Java jest konieczne.

Groovy Tools

Omówimy w tym 3 ważne narzędzia Groovy tutorial skryptowy

1. groovysh: Wykonuje kod interaktywnie.

2. groovyConsole: GUI do interaktywnego wykonywania kodu

3. groovy: Wykonuje świetne skrypty. Możesz go używać jak Perl, Python, itp.

Groovysh

  • powłoka wiersza poleceń
  • Pomaga w wykonaniu Groovy kod interaktywnie
  • Umożliwia wprowadzanie wyciągów lub całych skryptów

Groovy Tools

Groovy konsola

  • Interfejs Swing, który działa jako minimalny Groovy redaktor ds. rozwoju.
  • Umożliwia interakcję Groovy kod
  • Pomaga załadować i uruchomić Groovy pliki skryptów

Groovy Tools

Groovy

To procesor wykonuje Groovy programy i skrypty. U

Można go używać do testowania prostych Groovy wyrażenia.

Groovy Tools

Podsumowanie

  • Groovy jest obiektowym językiem programowania używanym do Java Platforma
  • Groovy skrypty oferują bezproblemową integrację ze wszystkimi istniejącymi Java obiektów i bibliotek
  • Boba McWhirTer i James Strachan stworzyli Groovy w 2003 roku
  • Lista, mapa, zakres, literały wyrażeń regularnych są ważnymi cechami Groovy
  • Cztery typy operatorów obsługiwanych przez Groovy są 1. Relacyjne 2. Logiczne 3. Bitowe 4. Przypisanie
  • Groovy podejmował decyzje przy użyciu instrukcji if, if/else, zagnieżdżonych if, switch, instrukcji switch Netsted
  • Struktura listy umożliwia przechowywanie kolekcji elementów danych
  • Mapa Groovy to zbiór par klucz-wartość
  • In Groovy, Gettery i settery są generowane automatycznie dla członków klasy
  • In Java, możesz użyć metody getterów i setterów dla pól
  • Największy mit nt Groovy jest to, że można go używać tylko do skryptów, które są nieprawidłowe
  • Czasami Groovy może być wolniejszy, co wydłuża czas programowania
  • Trzy Groovy Narzędziami są: groovysh, który wykonuje kod, groovy Console, która jest graficznym interfejsem użytkownika do interaktywnego wykonywania kodu, oraz groovy, który wykonuje skrypty