1. 程式人生 > 其它 >kotlin基礎語法-基礎知識

kotlin基礎語法-基礎知識

技術標籤:程式語言

本文件為個人部落格文件系統的備份版本、作者:小遊、作者部落格:點選訪問

包定義

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) }