Język Groovy

groovy

Już minęło kilka lat odkąd przerzuciłem się z języka Java na Apache Groovy. Szczerze mówiąc teraz bardzo niechętnie wracam do Java.

Język Groovy niesie ze sobą wiele uproszczeń, jest bardzo intuicyjny, zwiększa produktywność, daję Ci możliwość typowania statycznego lub dynamicznego i jest bardzo łatwy do nauczenia dla osób znających Java. W zasadzie jest to Java tylko lepsza 🙂 Co więcej, możesz w jednym projekcie mieszać Groovy oraz Java. Szczerze polecam Ci zapoznać się z Groovy jeśli jeszcze do tej pory nie miałeś z nim styczności.

Kilka przykładowych różnic pomiędzy Java i Groovy:

  • w groovy nie musimy stawiać średników na końcu linii!
  • proste sprawdzanie czy zmienna nie jest null:
    1
     if (myArg)  // myArg nie jest null
  • null safe operator:
    1
    myObject?.toString()// jeśli myObject jest null nic się nie wydarzy
  • elvis operator, to samo co ternary operator tylko uproszczone jeśli mamy zwrócić wartość z if dla true np:
    1
     int a = a > 0 ? a : 0

    w groovy można to zapisać krócej: 

    1
     int a = a > 0 ?: 0
  • porównywanie stringów za pomocą ==:
    1
    'aaa' == 'aaa' // true

    jest to równoznaczne z equals() w Java. Więcej ciekawszych operatorów znajdziesz w dokumentacji operatory groovy

  • proste budowanie stringa ze zmiennymi:
    1
    2
    3
    int param = 2000
    System.out.println("Jest rok ${param}")
    // Jest rok 2000
  • inicjalizowanie listy nie może być prostsze. Odwoływanie się do elementów listy przy pomocy indeksów
    1
    2
    List a = [5,2,3,4]  
    println(a[0]) // 5
  • elementy języka funkcyjnego. W Groovy mamy dostęp do closures czyli funkcji które można przypisać do zmiennej i przekazać jako element wywołania gdzie indziej – idealne do użycia w strategy pattern

    1
    2
    3
    4
    5
    6
    7
    List a = [1,2,3,4]
    def mojaFunkcja = { item, idx -> println "element $item na pozycji $idx" }
    a.eachWithIndex(mojaFunkcja)
    // element 1 na pozycji 0
    // element 2 na pozycji 1
    // element 3 na pozycji 2
    // element 4 na pozycji 3

Wspominam o groovy już w pierwszym poście bo większość kodu jaki będę tu opisywał będzie właśnie w tym języku. Jeśli Ty jednak wolisz zostać przy Java to OK, nadal nie będziesz miał problemów ze zrozumieniem mojego kodu – pamiętaj tylko o stawianiu średników 😉

Posted on: Marzec 18, 2018

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *