kotlin基礎語法-基礎知識
阿新 • • 發佈:2020-12-18
技術標籤:程式語言
本文件為個人部落格文件系統的備份版本、作者:小遊、作者部落格:點選訪問
包定義
package my.demo
import kotlin.text.*
函式
fun sum(a: Int, b: Int): Int {
return a + b
}
注意這裡帶有兩個引數a和b都是int型別,返回的是int型別的資料。注意返回值可以為空,或者Unit這兩個都是為空。
我們可以直接把表示式作為函式體
fun sum(a: Int, b: Int) = a + b
變數
常量 val
變數是var
字串模板
a = 2
// 模板中的任意表達式:
val s2 = "${s1.replace("is", "was")}, but now is $a"
空值檢測
當某個變數的值可以為 null 的時候,必須在宣告處的型別後新增 ? 來標識該引用可為空
fun parseInt(str: String): Int? {
// ……
}
型別檢測
is
運算子檢測一個表示式是否某型別的一個例項。 如果一個不可變的區域性變數或屬性已經判斷出為某型別,那麼檢測後的分支中可以直接當作該型別使用,無需顯式轉換:
if (obj is String) {
// `obj` 在該條件分支內自動轉換成 `String`
return obj.length
}
for迴圈
val items = listOf("apple", "banana", "kiwifruit")
for (item in items) {
println(item)
}
// 或者下面這個
val items = listOf("apple", "banana", "kiwifruit")
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
when表示式
fun describe(obj: Any): String =
when (obj) {
1 -> "One"
"Hello" -> "Greeting"
is Long -> "Long"
!is String -> "Not a string"
else -> "Unknown"
}
使用區間range
//使用 in 運算子來檢測某個數字是否在指定區間內:
val x = 10
val y = 9
if (x in 1..y+1) {
println("fits in range")
}
// 區間迭代
for (x in 1..5) {
print(x)
}
集合
// 迭代集合
for (item in items) {
println(item)
}
// 使用lambda表示式
val fruits = listOf("banana", "avocado", "apple", "kiwifruit")
fruits
.filter { it.startsWith("a") }
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { println(it) }