Groovy Tutorial Skrip untuk Pemula
Apa itu Groovy Naskah?
Apache Groovy adalah berorientasi objek dan Java bahasa pemrograman yang kompatibel dengan sintaksis yang dibuat untuk Java platform. Bahasa dinamis ini memiliki banyak fitur yang serupa Python, Ruby, Smalltalk, dan Pero. Groovy kode sumber dikompilasi menjadi Java Bytecode sehingga dapat berjalan di platform apa pun yang telah menginstal JRE. Groovy juga melakukan banyak tugas di belakang layar yang membuatnya lebih lincah dan dinamis.
Groovy bahasa dapat digunakan sebagai bahasa skrip untuk Java platform. Ini hampir seperti versi super Java yang menawarkan Javakemampuan perusahaan. Ia juga menawarkan banyak fitur produktivitas seperti dukungan DSL, penutupan, dan pengetikan dinamis. Tidak seperti beberapa bahasa lain, bahasa ini dirancang sebagai pendamping, bukan pengganti Java.
Mengapa Groovy?
Inilah alasan utama mengapa Anda harus menggunakan dan mempelajarinya Groovy-
- Groovy adalah bahasa yang gesit dan dinamis
- Integrasi mulus dengan semua yang ada Java objek dan perpustakaan
- Terasa mudah dan alami Java pengembang
- Kode yang lebih ringkas dan bermakna dibandingkan dengan Java
- Anda dapat menggunakannya sebanyak atau sesedikit yang Anda suka Java apps
Groovy Sejarah
- 2003: Dikembangkan oleh Bob McWhirter & James Strachan
- 2004: Ditugaskan ke JSR 241 tetapi ditinggalkan
- 2005: Dibawakan kembali oleh Jeremy Rayner & Guillaume Laforge
- 2007: Groovy versi 1.0
- 2012: Groovy versi 2
- 2014: Groovy versi 2.3 (dukungan resmi diberikan untuk JDK 8)
- 2015: Groovy menjadi proyek di Perangkat Lunak Apache Foundation
Fitur Groovy
- Daftar, peta, rentang, literal ekspresi reguler
- Multimetode dan metaprogramming
- Groovy kelas dan skrip biasanya disimpan dalam file .groovy
- Skrip berisi Groovy pernyataan tanpa deklarasi kelas apa pun.
- Skrip juga dapat berisi definisi metode di luar definisi kelas.
- Itu dapat dikompilasi dan diintegrasikan sepenuhnya dengan yang tradisional Java aplikasi.
- Dukungan tingkat bahasa untuk peta, daftar, ekspresi reguler
- Mendukung penutupan, pengetikan dinamis, protokol metaobjek
- Dukungan untuk pengetikan statis dan dinamis & kelebihan beban operator
- Deklarasi literal untuk daftar (array), peta, rentang, dan ekspresi reguler
Bagaimana menginstal Groovy
Langkah 1) Pastikan Anda memilikinya Java diinstal.
Langkah 2) Pergi ke http://groovy-lang.org/download.html dan klik penginstal.
Catatan: Anda juga dapat menginstal Groovy menggunakan file Zip atau sebagai Eclipse IDE. Dalam Groovy tutorial, kami akan tetap berpegang pada Windows pemasang
Langkah 3) Luncurkan penginstal yang diunduh. Pilih bahasa dan klik OK
Langkah 4) Meluncurkan. Di layar selamat datang, klik BERIKUTNYA
Langkah 5) Setuju dengan persyaratan lisensi
Langkah 6) Pilih komponen yang ingin Anda instal dan klik NEXT
Langkah 7) Pilih Direktori Instalasi dan klik BERIKUTNYA
Langkah 8) Pilih Folder Menu Mulai dan klik BERIKUTNYA
Langkah 9) Setelah instalasi selesai, biarkan path default dan klik NEXT
Langkah 10) Klik BERIKUTNYA
Langkah 11) Di menu mulai cari Groovy konsul
Groovy Contoh Halo Dunia
Misalkan kita ingin mencetak string sederhana “Hello World” di dalamnya Java. Kode untuk mencapai string Groovy halo dunia akan
public class Demo { public static void main(String[] args) { System.out.println("Hello World"); } }
Kode di atas berlaku di keduanya Java dan Groovy as Groovy adalah superset dari Java. Namun kelebihannya dengan Groovy adalah kita dapat menyelesaikan pembuatan kelas, pembuatan metode publik, dll dan mencapai keluaran yang sama dengan satu kode baris sebagai berikut:
println "Hello World."
Tidak perlu titik koma
Tidak perlu tanda kurung
System.out.println direduksi menjadi println
Groovy Variabel
In Java, pengikatan statis adalah wajib. Artinya jenis suatu variabel harus dideklarasikan terlebih dahulu.
public class Demo { public static void main(String[] args) { int x = 104; System.out.println(x); //x = "Guru99"; } }
Dalam contoh di atas ini Groovy tutorial, jenis variabel (integer) dideklarasikan terlebih dahulu dengan menggunakan kata kunci “int”. Jika Anda mendeklarasikan bilangan floating point Anda menggunakan kata kunci float.
Jika Anda mencoba untuk menetapkan nilai String ke int (hapus komentar baris #5), Anda akan mendapatkan kesalahan berikut
Demo.java:5: error: incompatible types: String cannot be converted to int x = "Guru99";
Sebaliknya, Groovy mendukung Pengetikan Dinamis. Variabel didefinisikan menggunakan kata kunci “def”, dan jenis variabel tidak perlu dideklarasikan terlebih dahulu. Kompiler mengetahui tipe variabel saat runtime dan Anda bahkan dapat mengetahui tipe variabelnya.
Perhatikan contoh asyik berikut ini,
def x = 104 println x.getClass() x = "Guru99" println x.getClass()
Keluaran:
class java.lang.Integer class java.lang.String
In Groovy, Anda dapat membuat string multiline. Pastikan Anda mengapit String dalam tanda kutip tiga.
def x = """Groovy at Guru99""" println x
Keluaran:
Groovy at Guru99
Note: Anda masih dapat menggunakan tipe variabel seperti byte, short, int, long, dll Groovy. Namun Anda tidak dapat mengubah tipe variabel secara dinamis seperti yang telah Anda deklarasikan secara eksplisit.
Perhatikan kode berikut:
int x = 104 println x x = "Guru99"
Ini memberikan kesalahan berikut
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-Operatorso
Operator adalah simbol yang memberitahu kompiler untuk melakukan manipulasi matematika atau logika tertentu.
Groovy memiliki lima jenis operator berikut –
- Operator Aritmatika: Tambah (+), Kurangi (-), Perkalian (*), Pembagian(/)
- Operator relasional: sama dengan (==), Tidak sama dengan (!=), Less dari (<) Less dari atau sama dengan (<=), Lebih besar dari (>), Lebih besar dari atau sama dengan (>=)
- Operator logika: Dan (&&), Atau(||), Bukan(!)
- Operator bitwise: Dan(&), Atau(|), (^), Xor atau operator Eksklusif-atau
- Operator penugasan: Operator negasi (~)
Groovy-Loop
In Java, Anda akan mendefinisikan loop sebagai berikut
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x++) { System.out.println(x); } } }
Keluaran:
0 1 2 3 4
Anda dapat mencapai hasil yang sama di Groovy menggunakan kata kunci maksimal
0.upto(4) {println "$it"}
Anda mendapatkan hasil yang sama seperti di atas. $it adalah penutupan yang memberikan nilai loop saat ini.
Perhatikan kode berikut
2.upto(4) {println "$it"}
Ini memberikan keluaran
2 3 4
Anda juga dapat menggunakan kata kunci “kali” untuk mendapatkan hasil yang sama
5.times{println "$it"}
Misalkan Anda ingin mencetak 0,2,4 dengan untuk loop masuk Java
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x=x+2) { System.out.println(x); } } }
Keluaran:
0 2 4
Anda dapat menggunakan metode langkah untuk hal yang sama
0.step(7,2){println "$it"}
Groovy- Pengambilan Keputusan
Laporan | Penipuan |
---|---|
jika Pernyataan | Seperti dalam Java, pernyataan if dijalankan jika kondisinya benar. |
pernyataan if/else | Dalam pernyataan if/else pada awalnya suatu kondisi dievaluasi dalam pernyataan if. Jika kondisinya benar maka jalankan pernyataan setelahnya. Itu berhenti sebelum kondisi lain dan keluar dari loop. Namun, jika kondisinya salah maka jalankan pernyataan di blok pernyataan lain. Kemudian keluar dari loop. |
Pernyataan If Bersarang | Ini digunakan ketika ada persyaratan untuk memiliki beberapa pernyataan if. |
Pernyataan Switch | Pernyataan if-else yang disarangkan bisa menjadi tidak dapat dibaca ketika Anda memiliki beberapa kondisi. Untuk membuat kode lebih mudah dibaca, pernyataan switch digunakan. |
Pernyataan Sakelar Bersarang | In Groovy juga dimungkinkan untuk menggunakan pernyataan switch bersarang. |
Groovy Daftar
Struktur daftar memungkinkan Anda menyimpan kumpulan data Item. Di sebuah Groovy Bahasa pemrograman, List berisi serangkaian referensi objek. List juga menunjukkan posisi dalam urutan tersebut. Literal List disajikan sebagai serangkaian objek yang dipisahkan oleh koma dan diapit tanda kurung siku.
Contoh daftar Grovy:
Daftar String- ['Angular', 'Nodejs,]
Daftar referensi objek – ['Groovy', 2,4 2.6]
Daftar nilai integer – [16, 17, 18, 19]
Daftar kosong- [ ]
Berikut ini adalah daftar metode yang tersedia di Groovy:
metode | Description |
---|---|
Menambahkan() | Memungkinkan Anda menambahkan nilai baru ke akhir Daftar ini. |
mengandung() | Mengembalikan nilai benar jika Daftar ini berisi nilai tertentu. |
Dapatkan() | Mengembalikan elemen pada posisi pasti |
kosong() | Mengembalikan nilai sebenarnya jika Daftar tidak berisi elemen |
dikurangi() | Perintah ini memungkinkan Anda membuat Daftar baru yang terdiri dari elemen-elemen asli, tidak termasuk elemen-elemen yang ditentukan dalam koleksi. |
plus() | Memungkinkan Anda membuat Daftar baru yang terdiri dari elemen asli beserta yang disebutkan dalam koleksi. |
pop () | Menghapus item terakhir dari Daftar |
menghapus() | Menghapus elemen pada posisi tertentu |
balik() | Buat Daftar baru yang membalikkan elemen Daftar asli |
ukuran() | Mengembalikan jumlah elemen dalam Daftar ini |
menyortir() | Mengembalikan salinan yang diurutkan |
Pertimbangkan yang berikut ini Groovy contoh skrip
def y = ["Guru99", "is", "Best", "for", "Groovy"] println y y.add("Learning") println(y.contains("is")) println(y.get(2)) println(y.pop())
Keluaran:
[Guru99, is, Best, for, Groovy] true Best Learning
Groovy Peta
Sebuah Peta Groovy adalah kumpulan Pasangan Nilai Kunci
Contoh dari Groovy peta:
- [Tutorial: 'Java, Tutorial: 'Groovy] – Kumpulan pasangan nilai kunci yang memiliki Tutorial sebagai kunci dan nilainya masing-masing
- [ : ] Mewakili peta Kosong
Berikut adalah daftar metode peta yang tersedia Groovy.
metode | Description |
---|---|
berisiKunci() | Periksa apakah peta berisi kunci ini atau tidak? |
Dapatkan() | Perintah ini mencari kunci di Peta ini dan mengembalikan nilai yang sesuai. Jika Anda tidak menemukan entri apa pun di Peta ini, maka itu akan mengembalikan nol. |
keySet () | Memungkinkan untuk menemukan satu set kunci di Peta ini |
taruh() | Kaitkan nilai yang ditentukan dengan kunci yang diberikan di Peta ini. Jika Map sebelumnya berisi pemetaan untuk kunci ini. Kemudian nilai yang lama akan digantikan dengan nilai yang ditentukan. |
ukuran() | Mengembalikan jumlah pemetaan nilai kunci. |
nilai () | Perintah ini mengembalikan tampilan kumpulan nilai. |
Groovy Contoh:
def y = [fName:'Jen', lName:'Cruise', sex:'F'] print y.get("fName")
Keluaran
Jen
Groovy- Penutupan
Penutupan asyik adalah sepotong kode yang dibungkus sebagai sebuah objek. Ini bertindak sebagai metode atau fungsi.
Contoh penutupan sederhana
def myClosure = { println "My First Closure" } myClosure()
Keluaran:
My First Closure
Penutupan dapat menerima parameter. Daftar identitas dipisahkan dengan koma
panah (->) menandai akhir daftar parameter.
def myClosure = { a,b,c-> y = a+b+c println y } myClosure(1,2,3)
Keluaran:
6
Penutupan dapat mengembalikan nilai.
def myClosure = { a,b,c-> return (a+b+c) } println(myClosure(1,2,3))
Keluaran:
6
Ada banyak penutupan bawaan seperti “It”, “identitas”, dll. Penutupan dapat menggunakan penutupan lain sebagai parameter.
Groovy Vs. Java
Groovy | Java |
---|---|
In Groovy, penentu akses default adalah publik. Artinya, metode tanpa pengubah akses tertentu bersifat publik dan dapat diakses di luar batasan kelas dan paket. | In Java, pengubah akses default adalah sebuah paket, yaitu jika Anda tidak menentukan pengubah akses untuk bidang, metode, atau kelas maka ia menjadi paket-pribadi, |
Pengambil dan penyetel dibuat secara otomatis untuk anggota kelas. | Java, Anda perlu mendefinisikan metode pengambil dan penyetel untuk bidang |
Groovy memungkinkan substitusi variabel menggunakan tanda kutip ganda dengan string. | Java tidak mendukung substitusi variabel. |
Mengetik informasi adalah opsional. | Mengetik informasi adalah wajib di Java. |
Groovy tidak perlu diakhiri dengan titik koma. | In Java, setiap pernyataan diakhiri dengan titik koma. |
Groovy secara otomatis merupakan kelas pembungkus yang disebut Script untuk setiap program | In Java, Anda memerlukan metode utama untuk membuat kelas dapat dieksekusi. |
Mitos tentang Groovy
Mitos | Kenyataan |
---|---|
Kita dapat menggunakan Groovy hanya untuk skrip. | Ini dapat digunakan untuk skrip. Namun, Anda dapat melakukan banyak tugas lain selain itu. |
Groovy adalah tentang penutupan. “Hanya saja bahasa pemrograman fungsional. " | Groovy mengadopsi dari bahasa pemrograman fungsional seperti Lisp atau Closure. |
Groovy adalah pilihan ideal jika Anda ingin melakukan TDD | Pernyataan ini benar. Namun, ini tentu bukan satu-satunya alasan untuk menggunakannya Groovy. |
Anda dapat menggunakan Groovy hanya jika Anda ingin menggunakan Grails. | Grails adalah kerangka pengembangan web yang kuat.
Tapi Groovy menawarkan lebih dari itu. |
Kontra menggunakan Groovy
- JVM dan Groovy waktu mulai skrip lambat yang membatasi skrip tingkat OS
- Groovy tidak sepenuhnya diterima di komunitas lain.
- Tidak nyaman untuk digunakan Groovy tanpa menggunakan IDE
- Groovy bisa lebih lambat yang meningkatkan waktu pengembangan
- Groovy mungkin memerlukan banyak memori
- Pengetahuan tentang Java sangat penting.
Groovy Tools
Kami akan membahas 3 alat penting dalam hal ini Groovy tutorial skrip
1.groovysh: Mengeksekusi kode secara interaktif.
2. groovyConsole: GUI untuk eksekusi kode interaktif
3. groovy: Menjalankan skrip asyik. Anda dapat menggunakannya seperti Perl, Python, Dll
Groovysh
- cangkang baris perintah
- Membantu Anda mengeksekusi Groovy kode secara interaktif
- Memungkinkan memasukkan pernyataan atau seluruh skrip
Groovy konsol
- Antarmuka ayunan yang bertindak sebagai minimal Groovy editor pengembangan.
- Memungkinkan Anda berinteraksi Groovy kode
- Membantu Anda memuat dan menjalankan Groovy file skrip
Groovy
Ini adalah prosesor yang mengeksekusi Groovy program dan skrip. kamu
Ini dapat digunakan untuk menguji sederhana Groovy ekspresi.
Kesimpulan
- Groovy adalah bahasa pemrograman berorientasi objek yang digunakan untuk Java Platform
- Groovy skrip menawarkan integrasi yang mulus dengan semua yang ada Java objek dan perpustakaan
- Bob McWhirter & James Strachan mengembangkan groovy pada tahun 2003
- Daftar, peta, rentang, literal ekspresi reguler adalah fitur penting Groovy
- Empat jenis operator yang didukung oleh Groovy adalah 1. Relasional 2. Logika 3. Bitwise 4. Penugasan
- Groovy melakukan pengambilan keputusan menggunakan pernyataan if, if/else, Nested if, switch, Netsted switch
- Struktur daftar memungkinkan Anda menyimpan kumpulan Item Data
- Sebuah Peta Groovy adalah kumpulan Pasangan Nilai Kunci
- In Groovy, Pengambil dan penyetel dibuat secara otomatis untuk anggota kelas
- In Java, Anda dapat menggunakan metode menyediakan pengambil dan penyetel untuk bidang
- Mitos terbesar tentang Groovy adalah hanya dapat digunakan untuk skrip yang tidak benar
- Beberapa waktu Groovy bisa lebih lambat yang meningkatkan waktu pengembangan
- Tiga Groovy Alat-alatnya adalah: groovysh yang mengeksekusi kode, groovy Console yang merupakan GUI untuk eksekusi kode interaktif dan groovy yang mengeksekusi skrip.