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.
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
Krok 4) Początek. Na ekranie powitalnym kliknij DALEJ
Krok 5) Zaakceptuj warunki licencji
Krok 6) Wybierz komponenty, które chcesz zainstalować i kliknij DALEJ
Krok 7) Wybierz Katalog instalacyjny i kliknij DALEJ
Krok 8) Wybierz Folder menu Start i kliknij DALEJ
Krok 9) Po zakończeniu instalacji pozostaw ścieżki domyślne i kliknij DALEJ
Krok 10) Kliknij Następny
Krok 11) W menu startowym wyszukaj Groovy Konsola
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 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
To procesor wykonuje Groovy programy i skrypty. U
Można go używać do testowania prostych Groovy wyrażenia.
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