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.

install Groovy

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

install Groovy

Langkah 4) Meluncurkan. Di layar selamat datang, klik BERIKUTNYA

install Groovy

Langkah 5) Setuju dengan persyaratan lisensi

install Groovy

Langkah 6) Pilih komponen yang ingin Anda instal dan klik NEXT

install Groovy

Langkah 7) Pilih Direktori Instalasi dan klik BERIKUTNYA

install Groovy

Langkah 8) Pilih Folder Menu Mulai dan klik BERIKUTNYA

install Groovy

Langkah 9) Setelah instalasi selesai, biarkan path default dan klik NEXT

install Groovy

Langkah 10) Klik BERIKUTNYA

install Groovy

Langkah 11) Di menu mulai cari Groovy konsul

install Groovy

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 Tools

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 Tools

Groovy

Ini adalah prosesor yang mengeksekusi Groovy program dan skrip. kamu

Ini dapat digunakan untuk menguji sederhana Groovy ekspresi.

Groovy Tools

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.