Kotlin Language là gì
Bạn đang xem: kotlin là gì
Kotlin là ngôn từ xây dựng được cải cách và phát triển vị JetBrains. Nó xuất hiện tại lượt đầu năm mới 2011 khi JetBrains công tía dự án công trình của mình mạng thương hiệu "Kotlin". Đây là 1 trong những ngôn từ mã mối cung cấp mở
Về cơ phiên bản, gần giống Java, C hoặc C++ , Kotlin cũng chính là "ngôn ngữ xây dựng loại tĩnh". Nghĩa là những trở nên không cần thiết phải khái niệm trươc khi dùng. Kiểu tĩnh triển khai việc kê khai nghiêm nhặt hoặc khởi tạo nên những trở nên trước lúc bọn chúng được sử dụng
Kiểu tĩnh không tồn tại nghĩa tất cả chúng ta cần khai báo toàn bộ những trở nên khi đầu trước lúc dùng bọn chúng. Các trở nên hoàn toàn có thể được khởi tạo nên bất kể điểm này nhập công tác và tất cả chúng ta hoàn toàn có thể dùng bọn chúng bất kể điểm này khi cần Ví dụ:
/* Java Code */
static int num1, num2; //explicit declaration
num1 = 20; //use the variables anywhere
num2 = 30;
/* Kotlin Code*/
val a: Int
val b: Int
a=5
b=10
ngoài class và method của xây dựng phía đối tượng người sử dụng, Kotlin cũng tương hỗ xây dựng giấy tờ thủ tục với việc dùng hàm.
Giống như Java, C and C++, điểm chủ chốt của công tác Kotlin là hàm "main". Nó trải qua một mảng chứa chấp ngẫu nhiên đối số của command line này. Ví dụ
/* Kotlin Code*/
/* Simple Hello Word Example*/
//optional package header
package hello
//package level function, which return Unit and takes an array of string as parameter
fun main(args: Array < String > ) {
val scope = “world”
println(“Hello, $scope!”) //semicolons are optional, have you noticed that? :)
}
Phần đuôi tệp tin của Java là .java, .class, .jar thì phần đuôi tệp tin của Kotlin là .kt và .kts.
ngày 17/5 vừa mới đây, bên trên Google I/O keynote, Android team đang được thông tin Kotlin tiếp tục trở nên ngôn từ đầu tiên của Android
Điểm mạnh mẽ của Kotlin
Kotlin biên dịch trở nên JVM bytecode hoặc JavaScript - Giống như Java, Bytecode cũng chính là format biên dịch cho tới Kotlin. Bytecode nghĩa là 1 trong những khi đang được biên dịch, những đoạn code tiếp tục chạy trải qua một máy ảo thay cho một Chip xử lý. phẳng phương pháp này, code hoàn toàn có thể điều khiển xe trên ngẫu nhiên nền tảng này, khi nó được biên dịch và chạy trải qua máy ảo. Khi Kotlin được quy đổi trở nên bytecode, nó hoàn toàn có thể truyền được qua quýt mạng và triển khai vị JVM
Kotlin hoàn toàn có thể dùng toàn bộ những nền tảng và tủ sách Java hiện tại có - Bất kể là nền tảng thời thượng dựa vào xử lý annotation. Điều cần thiết là Kotlin đơn giản dễ dàng tích phù hợp với Maven, Gradle hoặc những khối hệ thống build không giống.
Kotlin dễ dàng học tập và dễ dàng tiếp cận. cũng có thể học tập đơn giản dễ dàng vị những ví dụ tìm hiểu thêm đơn giản và giản dị. Cú pháp đơn giản và giản dị và trực quan tiền. Kotlin khá tương đương Scala tuy nhiên dễ dàng nắm bắt hơn
Kotlin là mã mối cung cấp mở nên ko tốn xoàng gì nhằm hoàn toàn có thể sử dụng
Chuyển thay đổi tự động hóa Java trở nên Kotlin - JetBrains tích phù hợp tác dụng mới nhất nhập IntelliJ nhằm quy đổi Java trở nên Kotlin và điều này tiết kiệm chi phí một lượng thời hạn rất rộng. Nó cũng hùn tất cả chúng ta ko cần code lại loại tay to
Null-safety của Kotlin: hùn tất cả chúng ta bay ngoài NullPointerExceptions. Giúp tất cả chúng ta tách những exeption loại con cái trỏ null. Trong Kotlin, khối hệ thống tiếp tục kể từ chối biên dịch đoạn code đang được gán hoặc trả về độ quý hiếm null
Review code không hề là vấn đề - Kotlin triệu tập nhiều hơn thế nhập việc cú pháp dễ dàng nắm bắt, dễ nhìn đọc nhằm review, bọn chúng hoàn toàn có thể hoàn thành xong vị những member team ko quen thuộc với ngôn từ này
Khác biệt thân ái Kotlin và Java
Null safety - như đang được thưa phía trên, Kotlin tách NullPointerException. Kotlin tạm dừng ở bất kể thời khắc biên dich này khi NullPointerException xuất hiện
Data Classes - nhập Kotlin với Data Classes nhằm tự động đột biến boilerplate như equals, hashCode, toString, getters/setters v.v . Ví dụ
/* Java Code */
class Book {
private String title;
private tác giả author;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public tác giả getAuthor() {
return author;
}
public void setAuthor(Author author) {
this.author = author;
}
}
Xem thêm: vợ ca sĩ duy mạnh là ai
Nhưng ở Kotlin class tương tự động như bên trên chỉ việc khái niệm vị 1 loại code
/* kotlin Code */
data class Book(var title:String,var author:Author)
Nó cũng hùn tất cả chúng ta đơn giản dễ dàng copy data classes với việc sử dung copy()
val book = Book(“Kotlin”, “JetBrains”)
val copy = book.copy()
*Các tác dụng không ngừng mở rộng *- Kotlin được chấp nhận tất cả chúng ta hoàn toàn có thể không ngừng mở rộng những tác dụng của những class hiện tại với nhưng mà ko thừa kế kể từ bọn chúng. Nghĩa là Kotlin cung ứng tài năng không ngừng mở rộng class với tác dụng mới nhất nhưng mà ko cần thiết thừa kế. Nó được triển khai vị tác dụng không ngừng mở rộng. Để khai báo, tất cả chúng ta cần thiết gọi là nó với cùng một receiver type, như 1 loại được không ngừng mở rộng. Ví dụ
fun MutableList<Int>.swap(index1:Int,index2:Int){
val tmp=this[index1]
this[index1]=this[index2]
this[index2]=tmp
}
từ khóa "this" nhập tác dụng không ngừng mở rộng ứng với một đối tượng người sử dụng nhận, được truyền trước vết chấm. Giờ tất cả chúng ta hoàn toàn có thể gọi như một hàm nhập ngẫu nhiên MutableList<Int> nào
val abc = mutableListOf(1, 2, 3)
abc.swap(0, 2)
Smart Casts - Khi nói đến việc những phôi, trình biên dịch Kotlin thực sự mưu trí. Trong nhiều tình huống, người tớ ko cần dùng những toán tử cast rõ rệt nhập kotlin, tuy nhiên trong Kotlin với "is-checks" cho những độ quý hiếm không bao giờ thay đổi và chèn những phôi tự động hóa khi cần thiết thiết
fun demo(x:Any){
if(x is String){
print(x.length) // x is automatically cast lớn string
}
}
Type Inference - Trong Kotlin, với cùng một điều ấn tượng là chúng ta ko cần chứng tỏ loại của từng trở nên một cơ hội rõ rệt (theo cơ hội rõ rệt và chi tiết). Nhưng nếu như mình thích xác lập một loại tài liệu một cơ hội rõ rệt, chúng ta cũng hoàn toàn có thể thực hiện vấn đề này. Ví dụ:
/* not explicitly defined */
fun main(args: Array<String>) {
val text = 10
println(text)
}
/* explicitly defined */
fun main(args: Array<String>) {
val text: Int = 10
println(text)
}
Lập trình phía tác dụng - Điều cần thiết nhất là Kotlin là 1 trong những ngôn từ xây dựng phía tác dụng. Về cơ phiên bản Kotlin bao hàm nhiều method hữu ích, bao hàm những tác dụng bậc cao, biểu thức lambda, operator overloading, lazy evaluation, vận hành quá vận tải và nhiều hơn thế nữa.
Lập trình phía tác dụng thực hiện cho tới Kotlin dễ dàng xử lý không chỉ có thế khi tụ hội bọn chúng lại
fun main(args: Array<String>) {
val numbers = arrayListOf(15, -5, 11, -39)
val nonNegativeNumbers = numbers.filter { it >= 0 }
println(nonNegativeNumbers)
}
Tốc phỏng biên dịch (giữa Java và Kotlin)
Clean build (build codebase lượt đầu)
Khi tất cả chúng ta biên dịch mã Kotlin lượt thứ nhất, thì cần mất không ít thời hạn rộng lớn Java. Java biên dịch thời gian nhanh rộng lớn 15-20% đối với Kotlin.
Incremental Builds
Nhưng như tất cả chúng ta biết, đa số thời hạn tất cả chúng ta cần thiết incremental builds như thay cho thay đổi một quãng code đã có sẵn trước và build lại bọn chúng, và deploy không ngừng nghỉ.
Theo quan tiền điểm đó, Kotlin rơi rụng thời hạn biên dịch như Java, thâm nám chí còn thời gian nhanh rộng lớn 1 chút
Tương lai của ngôn từ Kotlin
Kotlin links với Java và cung ứng sự thay cho thay đổi không ngừng nghỉ của mã và khối hệ thống cung cấp gánh vác Java và cung ứng cơ hội Migration đơn giản dễ dàng kể từ Java với tài năng tương quí ngược.
Với những tác dụng như nhiều khai báo rộng lớn, không nhiều mã, hạ tầng tài liệu ngôn từ lếu phù hợp và trình diễn cảm rộng lớn Java, Kotlin được xem là sau này cho những phần mềm công ty và địa hình thời hạn cho tới.
From https://www.xenonstack.com/blog/overview-of-kotlin-comparison-between-kotlin-java
Xem thêm: lịch chiếu phim cgv hà nội
Bình luận