Groovy Yeni Başlayanlar İçin Senaryo Eğitimi

Nedir Groovy Senaryo?

Apache Groovy nesne yönelimlidir ve Java için oluşturulmuş sözdizimi uyumlu programlama dili Java platformu. Bu dinamik dilin benzer birçok özelliği vardır. Python, Ruby, Smalltalk ve Pero. Groovy kaynak kodu derlenir Java Bytecode, JRE'nin yüklü olduğu herhangi bir platformda çalışabilmesini sağlar. Groovy aynı zamanda sahne arkasında onu daha çevik ve dinamik kılan birçok görevi de gerçekleştirir.

Groovy dili bir betik dili olarak kullanılabilir. Java platformu. Neredeyse süper bir versiyonu gibi Java hangi teklifler Java'nin kurumsal yetenekleri. Ayrıca DSL desteği, kapatmalar ve dinamik yazma gibi birçok üretkenlik özelliği de sunar. Diğer bazı dillerden farklı olarak, bir dilin yerine geçmek için değil, yardımcı olarak tasarlanmıştır. Java.

Neden Şimdi Groovy?

İşte kullanmanız ve öğrenmeniz için önemli nedenler Groovy-

  • Groovy çevik ve dinamik bir dildir
  • Mevcut tüm ürünlerle sorunsuz entegrasyon Java nesneler ve kütüphaneler
  • Kolay ve doğal geliyor Java geliştiriciler
  • Daha öz ve anlamlı kod, şuna kıyasla: Java
  • Dilediğiniz kadar çok veya az kullanabilirsiniz Java uygulamalar

Groovy Tarihçe

  • 2003: Bob Mc tarafından geliştirildiWhirTer ve James Strachan
  • 2004: JSR 241'e dahil edildi ancak terk edildi
  • 2005: Jeremy Rayner ve Guillaume Laforge tarafından geri getirildi
  • 2007: Groovy sürümü 1.0
  • 2012: Groovy sürümü 2
  • 2014: Groovy sürüm 2.3 (JDK 8 için verilen resmi destek)
  • 2015: Groovy Apache Yazılımında bir proje haline geldi Foundation

Özellikleri Groovy

  • Liste, harita, aralık, normal ifade değişmezleri
  • Çoklu yöntem ve metaprogramlama
  • Groovy sınıflar ve betikler genellikle .groovy dosyalarında saklanır
  • Komut dosyaları şunları içerir: Groovy Herhangi bir sınıf bildirimi olmayan ifadeler.
  • Komut dosyaları, sınıf tanımlarının dışında da yöntem tanımları içerebilir.
  • Geleneksel uygulamalarla derlenebilir ve tamamen entegre edilebilir. Java uygulama.
  • Haritalar, listeler ve normal ifadeler için dil düzeyinde destek
  • Kapamaları, dinamik yazmayı ve metaobject protokolünü destekler
  • Statik ve dinamik yazma ve operatör aşırı yükleme desteği
  • Listeler (diziler), haritalar, aralıklar ve düzenli ifadeler için değişmez bildirim

Nasıl kurulur? Groovy

) 1 Adım Sahip olduğunuzdan emin olun Java yüklü.

) 2 Adım MyCAD'de yazılım Güncelleme ye git http://groovy-lang.org/download.html ve yükleyiciye tıklayın.

kurmak Groovy

Not: Ayrıca yükleyebilirsiniz Groovy Zip dosyasını kullanarak veya Eclipse IDE. Bu Groovy öğretici, sadık kalacağız Windows Yükleyici

) 3 Adım İndirilen yükleyiciyi başlatın. Dili seçin ve Tamam'a tıklayın

kurmak Groovy

) 4 Adım Öğle yemeği. Karşılama ekranında İLERİ'ye tıklayın

kurmak Groovy

) 5 Adım Lisans koşullarını kabul ediyorum

kurmak Groovy

) 6 Adım Yüklemek istediğiniz bileşenleri seçin ve İLERİ'ye tıklayın

kurmak Groovy

) 7 Adım Kurulum Dizini'ni seçin ve İLERİ'ye tıklayın

kurmak Groovy

) 8 Adım Başlat Menüsü Klasörünü seçin ve İLERİ'ye tıklayın

kurmak Groovy

) 9 Adım Kurulum tamamlandıktan sonra yolları varsayılan olarak bırakın ve İLERİ'ye tıklayın

kurmak Groovy

) 10 Adım Sonrakine tıkla

kurmak Groovy

) 11 Adım Başlat Menüsünde arama yapın Groovy konsolos

kurmak Groovy

Groovy Merhaba Dünya Örneği

Basit bir "Merhaba Dünya" dizesini yazdırmak istediğimizi düşünün. Java. Dize elde etmek için kod Groovy merhaba dünya olurdu

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

Yukarıdaki kod her ikisinde de geçerlidir Java ve Groovy as Groovy bir süper kümesidir Java. Ama avantajı Groovy sınıf oluşturma, genel yöntem oluşturma vb. işlemleri ortadan kaldırabilmemiz ve aynı çıktıyı aşağıdaki gibi tek satırlı bir kodla elde edebilmemizdir:

println "Hello World."

Noktalı virgüllere gerek yok

Parantez açmaya gerek yok

System.out.println, println'ye indirgenir

Groovy Değişkenler

In Javastatik bağlama zorunludur. Yani değişkenin türü önceden bildirilmelidir.

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

Yukarıdaki örnekte bu Groovy öğreticide, değişkenin türü (tamsayı), “int” anahtar sözcüğü kullanılarak önceden bildirilir. Kayan noktalı bir sayı bildirecekseniz, float anahtar sözcüğünü kullanırsınız.

Bir String değerini bir int değerine atamaya çalışırsanız (5. satırı yorumdan çıkarın), aşağıdaki hatayı alırsınız

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

Tersine, Groovy Dinamik Yazmayı destekler. Değişkenler “def” anahtar sözcüğü kullanılarak tanımlanır ve değişkenin türünün önceden bildirilmesine gerek yoktur. Derleyici çalışma zamanında değişken türünü bulur ve hatta değişken türünü bile yapabilirsiniz.

Aşağıdaki harika örneği ele alalım:

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

Çıktı:

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

In Groovy, çok satırlı dizeler oluşturabilirsiniz. Sadece String'i üçlü tırnak içine aldığınızdan emin olun.

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

Çıktı:

Groovy
at
Guru99

not: Bayt, kısa, int, uzun vb. gibi değişken türleri hala kullanabilirsiniz. Groovy. Ancak değişken türünü açıkça bildirdiğiniz gibi dinamik olarak değiştiremezsiniz.

Aşağıdaki kodu göz önünde bulundurun:

int x = 104
println x
x = "Guru99"

Aşağıdaki hatayı veriyor

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-Operaları

Operatör, derleyiciye belirli matematiksel veya mantıksal işlemler yapmasını söyleyen bir semboldür.

Groovy aşağıdaki beş operatör türüne sahiptir –

  • Aritmetik operatörler: Toplama (+), Çıkarma (-), Çarpma (*), Bölme(/)
  • İlişkisel operatörler: eşittir (==), Eşit değildir (!=), Less daha (<) Less Büyüktür veya eşittir (<=), Büyüktür (>), Büyüktür veya eşittir (>=)
  • Mantıksal operatörler: Ve (&&), Veya(||), Değil(!)
  • Bitsel operatörler: Ve(&), Veya(|), (^), Xor veya Özel-veya operatörü
  • Atama operatörleri: Olumsuzluk operatörü (~)

Groovy-Döngüler

In Javabir döngüyü aşağıdaki gibi tanımlarsınız

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

Çıktı:

0
1
2
3
4

Aynı çıktıyı şurada da elde edebilirsiniz: Groovy kadar anahtar kelime kullanma

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

Yukarıdakiyle aynı çıktıyı alırsınız. $it mevcut döngünün değerini veren bir kapanıştır.

Aşağıdaki kodu göz önünde bulundurun

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

Bir çıktı verir

2
3
4

Aynı çıktıyı elde etmek için “times” anahtar sözcüğünü de kullanabilirsiniz.

5.times{println "$it"}

0,2,4'ü yazdırmak istediğinizi düşünün. döngü girişi için Java

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

Çıktı:

0
2
4

Aynı amaçla adım yöntemini kullanabilirsiniz.

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

Groovy- Karar verme

Tablolar Aldatma
if Bildirimi De olduğu gibi JavaKoşul doğruysa if ifadesi yürütülür.
if/else ifadesi If/else ifadesinde ilk olarak if ifadesinde bir koşul değerlendirilir. Koşul doğruysa bundan sonraki ifadeleri çalıştırır. else koşulundan önce durur ve döngüden çıkar. Ancak koşul yanlışsa else deyim bloğundaki ifadeleri çalıştırır. Daha sonra döngüden çıkar.
İç İçe If İfadesi Birden fazla if ifadesinin olması gerektiği durumlarda kullanılır.
Anahtar İfadesi Birden fazla koşulunuz olduğunda iç içe if-else ifadesi okunamaz hale gelebilir. Kodu daha okunaklı hale getirmek için switch ifadesi kullanılır.
İç İçe Anahtar İfadesi In Groovy iç içe geçmiş anahtar ifadelerini kullanmak da mümkündür.

Groovy Liste

Liste yapısı, bir veri Öğeleri koleksiyonunu saklamanıza olanak tanır. bir Groovy programlama dilinde, Liste bir nesne referansları dizisi tutar. Ayrıca dizideki bir konumu da gösterir. Bir Liste değişmezi, virgüllerle ayrılmış ve köşeli parantezlerle çevrelenmiş bir dizi nesne olarak sunulur.

Grovy listesi örneği:

Dizelerin listesi- ['Angular', 'Nodejs,]

Nesne referanslarının listesi – ['Groovy', 2,4 2.6]

Tamsayı değerlerinin listesi – [16, 17, 18, 19]

Boş bir liste- [ ]

Aşağıda, şu şekilde kullanılabilen yöntemlerin listesi bulunmaktadır: Groovy:

Yöntemler Açıklama
Ekle() Yeni değeri bu Listenin sonuna eklemenizi sağlar.
içerir() Bu Liste belirli bir değer içeriyorsa true değerini döndürür.
almak() Elemanı belirli bir konumda döndürür
boş() Liste hiçbir öğe içermiyorsa gerçek değeri döndürür
eksi() Bu komut, orijinalin koleksiyonda belirtilenler dışındaki öğelerinden oluşan yeni bir Liste oluşturmanıza olanak tanır.
artı() Koleksiyonda bahsedilenlerle birlikte orijinalin öğelerinden oluşan yeni bir Liste oluşturmanıza olanak sağlar.
pop() Listedeki son öğeyi kaldırır
Kaldır() Belirli bir konumdaki öğeyi kaldırır
tersine çevirmek() Orijinal Listenin öğelerini tersine çeviren yeni bir Liste oluşturun
boyut() Bu Listedeki öğelerin sayısını döndürür
çeşit() Sıralanmış bir kopyayı döndürür

Aşağıdakileri göz önünde bulundur Groovy senaryo örneği

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

Çıktı:

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

Groovy Haritalar

Bir harita Groovy Anahtar Değer Çiftlerinin bir koleksiyonudur

Örnekleri arasında Groovy haritalar:

  • [Eğitim: 'Java, Öğretici: 'Groovy] – Anahtar olarak Eğitimi içeren anahtar/değer çiftlerinin ve ilgili değerlerinin toplanması
  • [ : ] Boş bir haritayı temsil eder

Burada, mevcut harita yöntemlerinin bir listesi bulunmaktadır. Groovy.

Yöntemler Açıklama
içerirAnahtar() Haritanın bu anahtarı içerip içermediğini kontrol edin.
almak() Bu komut, bu Haritadaki anahtarı arar ve karşılık gelen değeri döndürür. Bu Haritada herhangi bir giriş bulamazsanız, null değerini döndürür.
anahtar seti() Bu Haritada bir dizi anahtarı bulmanızı sağlar
koymak() Belirtilen değeri bu Haritadaki verilen anahtarla ilişkilendirir. Harita daha önce bu anahtar için bir eşleme içeriyorsa. Daha sonra eski değer belirtilen değerle değiştirilecektir.
boyut() Anahtar/değer eşlemelerinin sayısını döndürür.
değerler () Bu komut, değerlerin koleksiyon görünümünü döndürür.

Groovy Örnek:

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

Çıktı

Jen

Groovy- Kapanışlar

Harika bir kapanış, bir nesne olarak sarılmış bir kod parçasıdır. Bir yöntem veya işlev görevi görür.

Basit kapatma örneği

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

Çıktı:

My First Closure

Bir kapatma parametreleri kabul edebilir. Tanımlamaların listesi virgülle ayrılmıştır

parametre listesinin sonunu gösteren bir ok (->).

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

Çıktı:

6

Bir kapatma bir değer döndürebilir.

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

Çıktı:

6

“It”, “identity” gibi pek çok yerleşik kapanış vardır. Kapanışlar diğer kapanışları parametre olarak alabilir.

Groovy Vs. Java

Groovy Java
In Groovy, varsayılan erişim belirteci public'tir. Bu, herhangi bir erişim değiştiricisi olmayan bir yöntemin herkese açık olduğu ve sınıf ve paket sınırları dışında erişilebilir olduğu anlamına gelir. In Java, varsayılan erişim değiştirici bir pakettir, yani alanlar, yöntemler veya sınıf için erişim değiştiriciyi belirtmezseniz paket-özel olur,
Alıcılar ve ayarlayıcılar sınıf üyeleri için otomatik olarak oluşturulur. Javaalanlar için alıcılar ve ayarlayıcılar yöntemini tanımlamanız gerekir
Groovy Dizelerde çift tırnak işareti kullanılarak değişken ikamesine izin verir. Java değişken ikamesini desteklemez.
Bilgilerin yazılması isteğe bağlıdır. Bilgilerin yazılması zorunludur Java.
Groovy noktalı virgülle bitmesine gerek yok. In Java, her ifade noktalı virgülle biter.
Groovy her program için otomatik olarak Script adı verilen bir sarma sınıfıdır In JavaBir sınıfı çalıştırılabilir hale getirmek için ana yönteme ihtiyacınız vardır.

Hakkında mitler Groovy

Efsane Gerçeklik
Biz kullanabilirsiniz Groovy sadece senaryo yazmak için. Komut dosyası yazmak için kullanılabilir. Ancak bunun dışında birçok görevi gerçekleştirebilirsiniz.
Groovy tamamen kapatmalarla ilgili. “Bu sadece işlevsel programlama dili". Groovy Lisp veya Closure gibi işlevsel programlama dillerinden uyarlanır.
Groovy TDD yapmak istiyorsanız ideal bir seçimdir Bu ifade doğrudur. Ancak kesinlikle kullanılmasının tek nedeni bu değil. Groovy.
Sen kullanabilirsiniz Groovy yalnızca Grails'i kullanmak istiyorsanız. Grails güçlü bir web geliştirme çerçevesidir.

Fakat Groovy bundan daha fazlasını sunuyor.

Kullanmanın eksileri Groovy

  • JVM ve Groovy komut dosyası başlangıç ​​zamanı yavaştır ve bu da işletim sistemi düzeyinde komut dosyası oluşturmayı sınırlar
  • Groovy diğer topluluklarda tamamen kabul görmemektedir.
  • Kullanımı uygun değil Groovy IDE'yi kullanmadan
  • Groovy daha yavaş olabilir, bu da geliştirme süresini artırır
  • Groovy çok fazla belleğe ihtiyaç duyabilir
  • Bilgisi Java zorunludur.

Groovy Tools

Bu yazıda 3 önemli aracı tartışacağız Groovy senaryo eğitimi

1. groovysh: Kodu etkileşimli olarak çalıştırır.

2. groovyConsole: Etkileşimli kod yürütme için GUI

3. harika: Harika komut dosyalarını çalıştırır. Şöyle kullanabilirsiniz Perl, Python, vb.

Groovysh

  • komut satırı kabuğu
  • Yürütmenize yardımcı olur Groovy etkileşimli olarak kodlayın
  • İfadelerin veya tüm komut dosyalarının girilmesine izin verir

Groovy Tools

Groovy konsol

  • Minimal bir arayüz görevi gören Swing arayüzü Groovy geliştirme editörü.
  • Etkileşim kurmanıza olanak tanır Groovy kod
  • Yüklemenize ve çalıştırmanıza yardımcı olur Groovy komut dosyası dosyaları

Groovy Tools

Groovy

Bu işlemi yürüten işlemcidir Groovy programlar ve komut dosyaları. sen

Basit test etmek için kullanılabilir Groovy ifade.

Groovy Tools

ÖZET

  • Groovy için kullanılan Nesneye yönelik bir programlama dilidir. Java platform
  • Groovy komut dosyası oluşturma, mevcut tüm uygulamalarla kusursuz entegrasyon sunar Java nesneler ve kütüphaneler
  • Bob McWhirter ve James Strachan 2003'te mükemmelliği geliştirdi
  • Liste, harita, aralık, düzenli ifade değişmezleri önemli özelliklerdir. Groovy
  • Dört tür operatör desteği Groovy 1. İlişkisel 2. Mantıksal 3. Bitsel 4. Atama
  • Groovy if, if/else, Nested if, switch, Netsted switch ifadelerini kullanarak karar vermeyi gerçekleştirdi
  • Liste yapısı, Veri Öğelerinin bir koleksiyonunu saklamanıza olanak tanır
  • Bir harita Groovy Anahtar Değer Çiftlerinin bir koleksiyonudur
  • In Groovy, Alıcılar ve ayarlayıcılar sınıf üyeleri için otomatik olarak oluşturulur
  • In Javaalanlar için alıcı ve ayarlayıcı sağlama yöntemini kullanabilirsiniz.
  • Hakkındaki en büyük efsane Groovy yalnızca doğru olmayan komut dosyası oluşturmak için kullanılabilmesidir
  • Bazen Groovy daha yavaş olabilir, bu da geliştirme süresini artırır
  • Üç Groovy Araçlar şunlardır: kodu yürüten groovysh, etkileşimli kod yürütme için GUI olan groovy Konsolu ve betikleri yürüten groovy