Kotlin là ngôn ngữ lập trình được gõ tĩnh cho JVM, Android và trình duyệt.

3 lý do – Tại sao các nhà phát triển nên học Kotlin?

Tại sao nên sử dụng Kotlin cho Android Development?

  • Xúc tích : Giảm đáng kể số lượng code soạn sẵn bạn cần viết.
  • An toàn : Tránh toàn bộ các lớp lỗi như ngoại lệ con trỏ null.
  • Khả năng tương tác : Tận dụng các khung và thư viện hiện có của JVM với 100% khả năng tương tác Java.

Chúng ta hãy xem những điều chi tiết hơn ( Kotlin vs Java ):

  • Khả năng tương tác với Java: Khi cần thử một ngôn ngữ mới, khả năng tương tác là một điều tuyệt vời có thể giúp bạn. Khả năng tương tác có nghĩa là bạn có thể sử dụng lại bất kỳ lớp Java nào từng được viết, tất cả các mã Java có thể hoạt động với Kotlin và ngược lại. Học Kotlin cho một lập trình Java không quá khó. Mọi thứ bạn có thể làm với Java, bạn có thể làm trong Kotlin. Nếu bạn không biết cách thực hiện trong Kotlin, thì hãy thực hiện bằng Java và để plugin Kotlin chuyển đổi nó thành Kotlin. Hãy chắc chắn rằng bạn thấy những gì đã xảy ra với code của bạn, để lần sau bạn có thể tự làm điều đó.
  • An toàn Null: Hệ thống loại của Kotlin nhằm mục đích loại bỏ sự nguy hiểm của các tài liệu tham khảo null từ mã, còn được gọi là Sai lầm tỷ đô .

Một trong những cạm bẫy phổ biến nhất trong nhiều ngôn ngữ lập trình, bao gồm cả Java là việc truy cập một thành viên của tài liệu tham khảo null, dẫn đến ngoại lệ tham chiếu null. Trong Java, điều này sẽ tương đương với NullPulumException hoặc NPE.

Trong Kotlin, hệ thống loại phân biệt giữa các tham chiếu có thể chứa null (tham chiếu nullable) và các tham chiếu không thể (tham chiếu không null). Ví dụ: một biến thông thường của kiểu String không thể giữ null:

var a: String = “abc”
a = null // compilation error

Để cho phép null, bạn có thể khai báo một biến là chuỗi rỗng, Chuỗi được viết?:

var b: String? = “abc”
b = null // ok

Bây giờ, nếu bạn gọi một phương thức hoặc truy cập một thuộc tính trên một, nó được đảm bảo không gây ra NPE, vì vậy bạn có thể nói một cách an toàn

val l = a.length

Nhưng nếu bạn muốn truy cập cùng một thuộc tính trên b, điều đó sẽ không an toàn và trình biên dịch báo lỗi:

val l = b.length // error: variable ‘b’ can be null

Nhưng bạn vẫn cần truy cập vào tài sản đó, phải không? Có một vài cách để làm điều đó.

Kiểm tra null trong điều kiện:

Trước tiên, bạn có thể kiểm tra rõ ràng nếu b là null và xử lý hai tùy chọn riêng biệt:

val l = if (b != null) b.length else -1

Cuộc gọi an toàn:

Tùy chọn thứ hai của bạn là toán tử cuộc gọi an toàn (?.) :

b?.length

Điều này trả về độ dài của b nếu b không phải là null và ngược lại là null.

  • Đúc thông minh:
// Java
if (node instanceOf Leaf) {
  return ((Leaf) node).symbol;
}
// kotlin
if (node is Leaf) {
  return node.symbol; // Smart casting, no need of casting
}
if (document is Payable && document.pay()) { // Smart casting
  println(“Payable document ${document.title} was payed for.”)
}

Kotlin sử dụng đánh giá lười biếng giống như trong Java. Vì vậy, nếu tài liệu không phải là một khoản phải trả, phần thứ hai sẽ không được đánh giá ở vị trí đầu tiên. Do đó, nếu được đánh giá, Kotlin biết rằng tài liệu là Phải trả và sử dụng dàn diễn viên thông minh.

  • Đối số mặc định: Đối số mặc định là một tính năng bạn đang thiếu trong Java vì nó rất tiện lợi, làm cho mã của bạn ngắn gọn hơn, biểu cảm hơn, dễ bảo trì hơn và dễ đọc hơn.
class Developer(val name: String,
 val age: Int,
 val someValue: Int = 0,
 val profile: String = “”) {
}
val amit = Developer(“Amit Shekhar”, 22, 10, “Android Developer”)
val anand = Developer(“Anand Gaurav”, 20, 11)
val ravi = Developer(“Ravi Kumar”, 26)
  • Các đối số được đặt tên: Khi nói đến khả năng đọc, các đối số được đặt tên làm cho Kotlin trở nên tuyệt vời.
val amit = Developer(“Amit Shekhar”, age = 22, someValue = 10, profile = “Android Developer”)
// This code is not readable.
myString.transform(true, false, false, true, false)
// the below code is readable as named arguments are present
myString.transform(
 toLowerCase = true,
 toUpperCase = false,
 toCamelCase = false,
 ellipse = true, 
 normalizeSpacing = false
)
  • Lập trình hàm: Trong khi Java phát triển để kết hợp một số khái niệm lập trình chức năng kể từ Java 8, thì Kotlin đã lập trình chức năng ngay lập tức. Điều này bao gồm các hàm bậc cao hơn, biểu thức lambda, nạp chồng toán tử, đánh giá lười biếng và nhiều phương thức hữu ích để làm việc với các bộ sưu tập. Sự kết hợp của các biểu thức lambda và thư viện Kotlin thực sự làm cho việc mã hóa của bạn dễ dàng hơn.
val numbers = arrayListOf(-42, 17, 13, -9, 12)
val nonNegative = numbers.filter { it >= 0 }
println(nonNegative)
listOf(1, 2, 3, 4) // list of 1, 2, 3, 4 
.map { it * 10 } // maps to to 10, 20, 30, 40
.filter { it > 20 } // filters out 30, 40
.forEach { print(it) } // prints 30, 40
  • Mã súc tích: Khi bạn sử dụng Kotlin thay vì Java, có một sự giảm thiểu rất lớn về mã trong dự án của bạn.

Xem nó trong ví dụ:

// Java
Button button = (Button) findViewById(R.id.button); 
button.setOnClickListener(new View.OnClickListener() { 
@Override
 public void onClick(View view) {
 /* your code */
 }
});
// Kotlin
val button = findViewById(R.id.fab) as Button 
button.setOnClickListener { view -> /* your code */}

Load More By lilwind
Load More In Android

1
Leave a Reply

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Suong Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Suong
Guest

Hello

Check Also

Hướng dẫn phân tích nội dung HTML sử dụng thư viện Jsoup

Jsoup là Java HTML Parser. Nó là một thư viện mã nguồn mở, được sử dụng để phân tích nội d…