Một số thứ thú vị với Kotlin cơ bản ( phần 1)
Bài đăng này đã không được cập nhật trong 4 năm
Trong Kotlin có một số thứ thú vị . Chủ đề ngày hôm nay chúng ta sẽ đi đến những vấn đề cơ bản của kotlin trong các các khai báo biến hoặc sử lý trong Func . Ok nào bắt đầu thôi !!!!!
1 . Toán tử Elvis :
**Sử lý nếu biến đó Null . Chúng ta thay thế giá trị Null bằng một giá trị mắc định nào đó -> Ví dụ : **
val name: String = person.name ?: “unknown”
val age = person.age ?: return
2. Chuỗi kí tự mẫu :
Sử dụng kí tự để kết nối chuỗi như ví dụ này :
val language = “Kotlin”
// “Kotlin has 6 characters”
val text = “$language has ${language.length} characters”
3. Sử dụng biểu thức When :
** When có thể match với bất cứ thứ gì như là values , enums , chuỗi số , dưới đây là 1 ví dụ điển hình : **
class Train(val cargo: Number?) {
override fun toString(): String {
return when (cargo) {
null, 0 -> "empty"
1 -> "tiny"
in 2..10 -> "small"
is Int -> "big inty"
else -> "$cargo"
}
}
}
4.Vòng lặp trong kotlin :
Biểu thức vòng lặp được thể hiện trong ví dự dưới đây :
// iterating in the range 1 to 100
for(i in 1..100) {…}
// iterating backwards, in the range 100 to 1
for(i in 100 downTo 1){…}
// iterating over an array, getting every other element
val array = arrayOf(“a”, “b”, “x”)
for(i in 1 until array.size step 2 ){…}
// iterating over an array with the item index and destructuring
for((index, element) in array.withIndex()) {…}
// iterating over a map
val map = mapOf(1 to “one”, 2 to “two”)
for( (key, value) in map){…}
5. Lazy :
** Lazy sử dụng khi bạn muốn trì hoãn việc khởi tạo giá trị cho biến. Nó sẽ tính toán và khởi tạo trong tương lai cần sử dụng . Ví dụ : **
val preference: String by lazy {
sharedPreferences.getString(PREFERENCE_KEY)
}
6.Lateinit :
** bạn sử dụng nó khi bạn không khởi tạo giá trị ngay lập tức cho một biến thì bạn sử dụng từ khóa này ví dụ như sau : **
class MyActivity : AppCompatActivity() {
// non-null, but not initalized
lateinit var recyclerView: RecyclerView
override fun onCreate(savedInstanceState: Bundle?) {
// …
// initialized here
recyclerView = findViewById(R.id.recycler_view)
}
}
7. Inline Function :
// define an inline function that takes a function argument
inline fun onlyIf(check: Boolean, operation: () -> Unit) {
if (check) {
operation()
}
}
// call it like this
onlyIf(shouldPrint) { // call: pass operation as a lambda
println(“Hello, Kotlin”)
}
// which will be inlined to this
if (shouldPrint) { // execution: no need to create lambda
println(“Hello, Kotlin”)
}
Và ok , vậy là phần 1 kết thúc mình đã hướng dẫn vài điều thú vị với Kotlin . Xin chào và hẹn gặp lại . Have a gud Day !!!
All rights reserved