Groovy Hướng dẫn viết chữ cho người mới bắt đầu

Một Groovy Kịch bản?

Apache Groovy là một hướng đối tượng và Java ngôn ngữ lập trình tương thích cú pháp được xây dựng cho Java nền tảng. Ngôn ngữ động này có nhiều tính năng tương tự như Python, Ruby, Smalltalk và Pero. Groovy mã nguồn được biên dịch thành Java Bytecode để nó có thể chạy trên mọi nền tảng có cài đặt JRE. Groovy cũng thực hiện rất nhiều nhiệm vụ hậu trường khiến nó trở nên nhanh nhẹn và năng động hơn.

Groovy ngôn ngữ có thể được sử dụng như một ngôn ngữ kịch bản cho Java nền tảng. Nó gần giống như một phiên bản siêu của Java cung cấp nào Javakhả năng của doanh nghiệp. Nó cũng cung cấp nhiều tính năng năng suất như hỗ trợ DSL, đóng và gõ động. Không giống như một số ngôn ngữ khác, nó được thiết kế như một ngôn ngữ đồng hành chứ không phải thay thế cho Java.

Tại sao Groovy?

Sau đây là những lý do chính khiến bạn nên sử dụng và học hỏi Groovy-

  • Groovy là một ngôn ngữ linh hoạt và năng động
  • Tích hợp liền mạch với tất cả các Java đối tượng và thư viện
  • Cảm thấy dễ dàng và tự nhiên Java phát triển
  • Mã ngắn gọn và có ý nghĩa hơn so với Java
  • Bạn có thể sử dụng nó nhiều hay ít tùy thích với Java ứng dụng

Groovy Lịch Sử

  • 2003: Được phát triển bởi Bob McWhirter & James Strachan
  • 2004: Được đưa vào JSR 241 nhưng nó đã bị bỏ rơi
  • 2005: Được đưa trở lại bởi Jeremy Rayner & Guillaume Laforge
  • 2007: Groovy phiên bản 1.0
  • 2012: Groovy phiên bản 2
  • 2014: Groovy phiên bản 2.3 (hỗ trợ chính thức cho JDK 8)
  • 2015: Groovy đã trở thành một dự án tại Phần mềm Apache Foundation

Đặc điểm của Groovy

  • Danh sách, bản đồ, phạm vi, biểu thức chính quy
  • Đa phương thức và siêu lập trình
  • Groovy các lớp và tập lệnh thường được lưu trữ trong các tệp .groovy
  • Tập lệnh chứa Groovy các câu lệnh mà không có bất kỳ khai báo lớp nào.
  • Các tập lệnh cũng có thể chứa các định nghĩa phương thức bên ngoài các định nghĩa lớp.
  • Nó có thể được biên dịch và tích hợp hoàn toàn với truyền thống Java ứng dụng.
  • Hỗ trợ cấp độ ngôn ngữ cho bản đồ, danh sách, biểu thức chính quy
  • Hỗ trợ đóng cửa, gõ động, giao thức metaobject
  • Hỗ trợ gõ tĩnh và động và nạp chồng toán tử
  • Khai báo theo nghĩa đen cho danh sách (mảng), bản đồ, phạm vi và biểu thức chính quy

Làm thế nào để cài đặt Groovy

Bước 1) Đảm bảo bạn có Java cài đặt.

Bước 2) Đến phần http://groovy-lang.org/download.html và nhấp vào trình cài đặt.

cài đặt, dựng lên Groovy

Lưu ý: Bạn cũng có thể cài đặt Groovy bằng cách sử dụng tệp Zip hoặc dưới dạng Eclipse IDE. Trong Groovy hướng dẫn, chúng tôi sẽ bám sát Windows Cài đặt

Bước 3) Khởi chạy trình cài đặt đã tải xuống. Chọn ngôn ngữ và nhấn OK

cài đặt, dựng lên Groovy

Bước 4) Phóng. Trong màn hình chào mừng, nhấp vào TIẾP THEO

cài đặt, dựng lên Groovy

Bước 5) Đồng ý với các điều khoản cấp phép

cài đặt, dựng lên Groovy

Bước 6) Chọn các thành phần bạn muốn cài đặt và nhấp vào TIẾP THEO

cài đặt, dựng lên Groovy

Bước 7) Chọn Thư mục cài đặt và nhấp vào TIẾP THEO

cài đặt, dựng lên Groovy

Bước 8) Chọn Thư mục Menu Bắt đầu và nhấp vào TIẾP THEO

cài đặt, dựng lên Groovy

Bước 9) Sau khi cài đặt xong, hãy để đường dẫn mặc định và nhấp vào TIẾP THEO

cài đặt, dựng lên Groovy

Bước 10) Nhấn tiếp

cài đặt, dựng lên Groovy

Bước 11) Trong menu bắt đầu tìm kiếm Groovy An ủi

cài đặt, dựng lên Groovy

Groovy Xin chào thế giới Ví dụ

Hãy xem xét chúng tôi muốn in một chuỗi đơn giản “Xin chào thế giới” trong Java. Mã để đạt được chuỗi Groovy xin chào thế giới sẽ như thế này

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

Đoạn mã trên có giá trị trong cả hai Java và Groovy as Groovy là một tập hợp siêu của Java. Nhưng lợi thế với Groovy là chúng ta có thể loại bỏ việc tạo lớp, tạo phương thức công khai, v.v. và đạt được kết quả đầu ra tương tự với một mã dòng duy nhất như sau:

println "Hello World."

Không cần dấu chấm phẩy

Không cần có dấu ngoặc đơn

System.out.println được rút gọn thành println

Groovy Biến

In Java, ràng buộc tĩnh là bắt buộc. Có nghĩa là loại biến phải được khai báo trước.

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

Trong ví dụ trên về điều này Groovy hướng dẫn, kiểu biến (số nguyên) được khai báo trước bằng từ khóa “int”. Nếu bạn khai báo một số dấu phẩy động, bạn sử dụng từ khóa float.

Nếu bạn thử gán giá trị String cho int (bỏ chú thích dòng #5), bạn sẽ nhận được lỗi sau

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

Ngược lại, Groovy hỗ trợ gõ động. Các biến được xác định bằng từ khóa “def” và loại biến không cần phải khai báo trước. Trình biên dịch tìm ra loại biến trong thời gian chạy và thậm chí bạn có thể tìm ra loại biến.

Hãy xem xét ví dụ thú vị sau đây,

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

Đầu ra:

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

In Groovy, bạn có thể tạo chuỗi nhiều dòng. Chỉ cần đảm bảo rằng bạn đặt Chuỗi trong dấu ngoặc kép.

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

Đầu ra:

Groovy
at
Guru99

Chú thích: Bạn vẫn có thể thay đổi các kiểu như byte, short, int, long, v.v. với Groovy. Nhưng bạn không thể tự động thay đổi loại biến như bạn đã khai báo rõ ràng.

Hãy xem xét đoạn mã sau:

int x = 104
println x
x = "Guru99"

Nó đưa ra lỗi sau

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-Operaxoắn

Toán tử là một ký hiệu yêu cầu trình biên dịch thực hiện một số thao tác toán học hoặc logic nhất định.

Groovy có năm loại toán tử sau đây –

  • Các toán tử số học: Cộng (+), Trừ (-), Nhân (*), Chia(/)
  • Các toán tử quan hệ: bằng (==), Không bằng (!=), Less hơn (<) Less hơn hoặc bằng (<=), Lớn hơn (>), Lớn hơn hoặc bằng (>=)
  • Các toán tử logic: Và (&&), Or(||), Not(!)
  • Các toán tử bitwise: And(&), Or(|), (^), Xor hoặc toán tử hoặc loại trừ
  • Toán tử gán: Toán tử phủ định (~)

Groovy-Vòng lặp

In Java, bạn sẽ định nghĩa một vòng lặp như sau

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

Đầu ra:

0
1
2
3
4

Bạn có thể đạt được kết quả tương tự trong Groovy sử dụng tối đa từ khóa

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

Bạn nhận được kết quả đầu ra tương tự như trên. $it là một bao đóng cung cấp giá trị của vòng lặp hiện tại.

Hãy xem xét đoạn mã sau

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

Nó mang lại một đầu ra

2
3
4

Bạn cũng có thể sử dụng từ khóa “times” để có được kết quả tương tự

5.times{println "$it"}

Hãy xem xét, bạn muốn in 0,2,4 với vòng lặp for Java

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

Đầu ra:

0
2
4

Bạn có thể sử dụng phương pháp bước cho cùng

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

Groovy- Quyết định

Báo cáo Deception
nếu Tuyên bố Như trong Java, câu lệnh if được thực thi nếu điều kiện đúng.
Câu lệnh if/else Trong câu lệnh if/other lúc đầu, một điều kiện được đánh giá trong câu lệnh if. Nếu điều kiện đúng thì thực hiện các câu lệnh sau đó. Nó dừng trước điều kiện else và thoát ra khỏi vòng lặp. Tuy nhiên, nếu điều kiện sai thì thực thi các câu lệnh trong khối câu lệnh else. Sau đó nó thoát khỏi vòng lặp.
Câu lệnh if lồng nhau Nó được sử dụng khi có yêu cầu phải có nhiều câu lệnh if.
Tuyên bố chuyển đổi Câu lệnh if-else lồng nhau có thể không đọc được khi bạn có nhiều điều kiện. Để làm cho mã dễ đọc hơn, câu lệnh switch được sử dụng.
Tuyên bố chuyển đổi lồng nhau In Groovy cũng có thể sử dụng các câu lệnh switch lồng nhau.

Groovy Danh sách

Cấu trúc danh sách cho phép bạn lưu trữ một tập hợp các Mục dữ liệu. trong một Groovy ngôn ngữ lập trình, List giữ một chuỗi các tham chiếu đối tượng. Nó cũng hiển thị một vị trí trong chuỗi. Một List literal được trình bày dưới dạng một chuỗi các đối tượng được phân tách bằng dấu phẩy và được đặt trong dấu ngoặc vuông.

Ví dụ về danh sách Grovy:

Danh sách các Chuỗi- ['Angular', 'Nodejs,]

Danh sách các tham chiếu đối tượng – ['Groovy', 2,4 2.6]

Danh sách các giá trị nguyên – [16, 17, 18, 19]

Một danh sách trống- [ ]

Sau đây là danh sách các phương pháp có sẵn trong Groovy:

Phương pháp Mô tả
thêm vào() Cho phép bạn thêm giá trị mới vào cuối Danh sách này.
chứa đựng() Trả về true nếu Danh sách này chứa một giá trị nhất định.
được() Trả về phần tử ở vị trí xác định
isEmpty() Trả về giá trị thực nếu Danh sách không chứa phần tử nào
dấu trừ() Lệnh này cho phép bạn tạo Danh sách mới bao gồm các phần tử của bản gốc ngoại trừ những phần tử được chỉ định trong bộ sưu tập.
thêm() Cho phép bạn tạo Danh sách mới bao gồm các thành phần của bản gốc cùng với các thành phần được đề cập trong bộ sưu tập.
pop () Xóa mục cuối cùng khỏi Danh sách
tẩy() Xóa phần tử ở vị trí cụ thể
đảo ngược() Tạo Danh sách mới đảo ngược các thành phần của Danh sách ban đầu
kích thước() Trả về số phần tử trong Danh sách này
sắp xếp () Trả về một bản sao đã được sắp xếp

Hãy xem xét những điều sau Groovy ví dụ về kịch bản

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

Đầu ra:

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

Groovy Maps

Bản đồ Groovy là tập hợp các cặp giá trị chính

Ví dụ về Groovy bản đồ:

  • [Hướng dẫn: 'Java, Hướng dẫn: 'Groovy] – Tập hợp các cặp khóa-giá trị có Hướng dẫn làm khóa và các giá trị tương ứng của chúng
  • [ : ] Đại diện cho một bản đồ trống

Đây là danh sách các phương pháp bản đồ có sẵn trong Groovy.

Phương pháp Mô tả
chứaKey() Kiểm tra xem bản đồ có chứa key này hay không?
được() Lệnh này tra cứu key trong Map này và trả về giá trị tương ứng. Nếu bạn không tìm thấy bất kỳ mục nào trong Bản đồ này thì nó sẽ trả về giá trị rỗng.
bộ chìa khoá() Cho phép tìm một bộ chìa khóa trong Bản đồ này
đặt() Liên kết giá trị được chỉ định với khóa đã cho trong Bản đồ này. Nếu Bản đồ trước đó chứa ánh xạ cho khóa này. Khi đó giá trị cũ sẽ được thay thế bằng giá trị được chỉ định.
kích thước() Trả về số lượng ánh xạ khóa-giá trị.
giá trị () Lệnh này trả về chế độ xem bộ sưu tập các giá trị.

Groovy Ví dụ:

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

Đầu ra

Jen

Groovy- Đóng cửa

Một bao đóng hấp dẫn là một đoạn mã được bao bọc dưới dạng một đối tượng. Nó hoạt động như một phương thức hoặc một chức năng.

Ví dụ về việc đóng cửa đơn giản

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

Đầu ra:

My First Closure

Một bao đóng có thể chấp nhận các tham số. Danh sách nhận dạng được phân tách bằng dấu phẩy

một mũi tên (->) đánh dấu sự kết thúc của danh sách tham số.

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

Đầu ra:

6

Việc đóng cửa có thể trả về một giá trị.

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

Đầu ra:

6

Có rất nhiều các bao đóng được tích hợp sẵn như “It”, “identity”, v.v. Các bao đóng có thể lấy các bao đóng khác làm tham số.

Groovy Vs. Java

Groovy Java
In Groovy, công cụ xác định quyền truy cập mặc định là công khai. Điều đó có nghĩa là một phương thức không có bất kỳ công cụ sửa đổi truy cập nào được chỉ định là công khai và có thể truy cập được bên ngoài ranh giới lớp và gói. In Java, công cụ sửa đổi truy cập mặc định là một gói, tức là nếu bạn không chỉ định công cụ sửa đổi truy cập cho các trường, phương thức hoặc lớp thì nó sẽ trở thành gói riêng tư,
Getters và setters được tạo tự động cho các thành viên của lớp. Java, bạn cần xác định phương thức getters và setters cho các trường
Groovy cho phép thay thế biến bằng cách sử dụng dấu ngoặc kép với chuỗi. Java không hỗ trợ thay thế biến.
Thông tin gõ là tùy chọn. Thông tin đánh máy là bắt buộc trong Java.
Groovy không bắt buộc phải kết thúc bằng dấu chấm phẩy. In Java, mọi câu lệnh đều kết thúc bằng dấu chấm phẩy.
Groovy tự động là một lớp gói có tên Script cho mọi chương trình In Java, bạn cần phương thức main để làm cho một lớp có thể thực thi được.

Huyền thoại về Groovy

Myth Reality
Chúng ta có thể sử dụng Groovy chỉ để viết kịch bản. Nó có thể được sử dụng để viết kịch bản. Tuy nhiên, bạn có thể thực hiện nhiều nhiệm vụ khác ngoài nó.
Groovy tất cả đều là về việc đóng cửa. “Chỉ là ngôn ngữ lập trình chức năng". Groovy áp dụng từ các ngôn ngữ lập trình chức năng như Lisp hoặc Closure.
Groovy là một lựa chọn lý tưởng nếu bạn muốn làm TDD Tuyên bố này là đúng. Tuy nhiên, đó chắc chắn không phải là lý do duy nhất để sử dụng Groovy.
Bạn có thể sử dụng Groovy chỉ khi bạn muốn sử dụng Grails. Grails là một framework phát triển web mạnh mẽ.

Nhưng Groovy cung cấp nhiều hơn thế.

Nhược điểm của việc sử dụng Groovy

  • JVM và Groovy thời gian bắt đầu tập lệnh chậm làm hạn chế tập lệnh cấp hệ điều hành
  • Groovy không hoàn toàn được chấp nhận ở các cộng đồng khác.
  • Nó không thuận tiện để sử dụng Groovy không sử dụng IDE
  • Groovy có thể chậm hơn làm tăng thời gian phát triển
  • Groovy có thể cần nhiều bộ nhớ
  • Kiến thức về Java Là bắt buộc.

Groovy CÔNG CỤ

Chúng ta sẽ thảo luận về 3 công cụ quan trọng trong phần này Groovy hướng dẫn viết kịch bản

1. groovysh: Thực thi mã một cách tương tác.

2. grovyConsole: GUI để thực thi mã tương tác

3. Groovy: Thực thi các tập lệnh hấp dẫn. Bạn có thể sử dụng nó như Perl, Python, Vv

Groovysh

  • vỏ dòng lệnh
  • Giúp bạn thực hiện Groovy mã tương tác
  • Cho phép nhập câu lệnh hoặc toàn bộ tập lệnh

Groovy CÔNG CỤ

Groovy giao diện điều khiển

  • Giao diện Swing hoạt động như một giao diện tối thiểu Groovy biên tập viên phát triển.
  • Cho phép bạn tương tác Groovy mã
  • Giúp bạn tải và chạy Groovy tập tin kịch bản

Groovy CÔNG CỤ

Groovy

Đó là bộ xử lý thực thi Groovy chương trình và kịch bản. bạn

Nó có thể được sử dụng để kiểm tra đơn giản Groovy biểu thức.

Groovy CÔNG CỤ

Tổng kết

  • Groovy là ngôn ngữ lập trình hướng đối tượng được sử dụng để Java nền tảng
  • Groovy kịch bản cung cấp sự tích hợp liền mạch với tất cả các hiện có Java đối tượng và thư viện
  • Bob McWhirter & James Strachan đã phát triển Groovy vào năm 2003
  • Danh sách, bản đồ, phạm vi, biểu thức chính quy là những tính năng quan trọng của Groovy
  • Bốn loại toán tử được hỗ trợ bởi Groovy là 1. Quan hệ 2. Logic 3. Bitwise 4. Gán
  • Groovy thực hiện việc ra quyết định bằng cách sử dụng câu lệnh if, if/else, Nested if, switch, Netsted switch
  • Cấu trúc danh sách cho phép bạn lưu trữ một tập hợp các Mục dữ liệu
  • Bản đồ Groovy là tập hợp các cặp giá trị chính
  • In Groovy, Getters và setters được tạo tự động cho các thành viên của lớp
  • In Java, bạn có thể sử dụng phương thức cung cấp getters và setters cho các trường
  • Huyền thoại lớn nhất về Groovy là nó chỉ có thể sử dụng cho việc viết kịch bản, điều này không đúng
  • Thỉnh thoảng Groovy có thể chậm hơn làm tăng thời gian phát triển
  • Ba chậu Groovy Các công cụ bao gồm: groovysh thực thi mã, groovy Console là GUI để thực thi mã tương tác và groovy thực thi các tập lệnh