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.
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
) 4 Adım Öğle yemeği. Karşılama ekranında İLERİ'ye tıklayın
) 5 Adım Lisans koşullarını kabul ediyorum
) 6 Adım Yüklemek istediğiniz bileşenleri seçin ve İLERİ'ye tıklayın
) 7 Adım Kurulum Dizini'ni seçin ve İLERİ'ye tıklayın
) 8 Adım Başlat Menüsü Klasörünü seçin ve İLERİ'ye tıklayın
) 9 Adım Kurulum tamamlandıktan sonra yolları varsayılan olarak bırakın ve İLERİ'ye tıklayın
) 10 Adım Sonrakine tıkla
) 11 Adım Başlat Menüsünde arama yapın Groovy konsolos
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 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
Bu işlemi yürüten işlemcidir Groovy programlar ve komut dosyaları. sen
Basit test etmek için kullanılabilir Groovy ifade.
Ö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